mirror of https://gitee.com/openkylin/linux.git
bnx2x: fix rx ring size report
Store the size in bp, read from bp when queried. Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com> Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5f83736345
commit
c2188952fc
|
@ -3091,15 +3091,20 @@ static int bnx2x_alloc_fp_mem_at(struct bnx2x *bp, int index)
|
|||
struct bnx2x_fastpath *fp = &bp->fp[index];
|
||||
int ring_size = 0;
|
||||
u8 cos;
|
||||
int rx_ring_size = 0;
|
||||
|
||||
/* if rx_ring_size specified - use it */
|
||||
int rx_ring_size = bp->rx_ring_size ? bp->rx_ring_size :
|
||||
MAX_RX_AVAIL/BNX2X_NUM_RX_QUEUES(bp);
|
||||
if (!bp->rx_ring_size) {
|
||||
|
||||
/* allocate at least number of buffers required by FW */
|
||||
rx_ring_size = max_t(int, bp->disable_tpa ? MIN_RX_SIZE_NONTPA :
|
||||
MIN_RX_SIZE_TPA,
|
||||
rx_ring_size);
|
||||
rx_ring_size = MAX_RX_AVAIL/BNX2X_NUM_RX_QUEUES(bp);
|
||||
|
||||
/* allocate at least number of buffers required by FW */
|
||||
rx_ring_size = max_t(int, bp->disable_tpa ? MIN_RX_SIZE_NONTPA :
|
||||
MIN_RX_SIZE_TPA, rx_ring_size);
|
||||
|
||||
bp->rx_ring_size = rx_ring_size;
|
||||
} else
|
||||
rx_ring_size = bp->rx_ring_size;
|
||||
|
||||
/* Common */
|
||||
sb = &bnx2x_fp(bp, index, status_blk);
|
||||
|
|
|
@ -1310,10 +1310,7 @@ static void bnx2x_get_ringparam(struct net_device *dev,
|
|||
if (bp->rx_ring_size)
|
||||
ering->rx_pending = bp->rx_ring_size;
|
||||
else
|
||||
if (bp->state == BNX2X_STATE_OPEN && bp->num_queues)
|
||||
ering->rx_pending = MAX_RX_AVAIL/bp->num_queues;
|
||||
else
|
||||
ering->rx_pending = MAX_RX_AVAIL;
|
||||
ering->rx_pending = MAX_RX_AVAIL;
|
||||
|
||||
ering->rx_mini_pending = 0;
|
||||
ering->rx_jumbo_pending = 0;
|
||||
|
|
Loading…
Reference in New Issue