diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index 063f28394e3d..dbe487f2915d 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c @@ -1277,7 +1277,7 @@ bnx2_init_rx_context(struct bnx2 *bp, u32 cid) if (lo_water >= bp->rx_ring_size) lo_water = 0; - hi_water = bp->rx_ring_size / 4; + hi_water = min_t(int, bp->rx_ring_size / 4, lo_water + 16); if (hi_water <= lo_water) lo_water = 0; diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h index b860fbbff355..cd4b0e4637ab 100644 --- a/drivers/net/bnx2.h +++ b/drivers/net/bnx2.h @@ -349,7 +349,7 @@ struct l2_fhdr { #define BNX2_L2CTX_BD_PRE_READ 0x00000000 #define BNX2_L2CTX_CTX_SIZE 0x00000000 #define BNX2_L2CTX_CTX_TYPE 0x00000000 -#define BNX2_L2CTX_LO_WATER_MARK_DEFAULT 32 +#define BNX2_L2CTX_LO_WATER_MARK_DEFAULT 4 #define BNX2_L2CTX_LO_WATER_MARK_SCALE 4 #define BNX2_L2CTX_LO_WATER_MARK_DIS 0 #define BNX2_L2CTX_HI_WATER_MARK_SHIFT 4