Commit c2188952 authored by Vladislav Zolotarov's avatar Vladislav Zolotarov Committed by David S. Miller

bnx2x: fix rx ring size report

Store the size in bp, read from bp when queried.
Signed-off-by: default avatarDmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: default avatarVladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: default avatarEilon Greenstein <eilong@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5f837363
...@@ -3091,15 +3091,20 @@ static int bnx2x_alloc_fp_mem_at(struct bnx2x *bp, int index) ...@@ -3091,15 +3091,20 @@ static int bnx2x_alloc_fp_mem_at(struct bnx2x *bp, int index)
struct bnx2x_fastpath *fp = &bp->fp[index]; struct bnx2x_fastpath *fp = &bp->fp[index];
int ring_size = 0; int ring_size = 0;
u8 cos; u8 cos;
int rx_ring_size = 0;
/* if rx_ring_size specified - use it */ /* if rx_ring_size specified - use it */
int rx_ring_size = bp->rx_ring_size ? bp->rx_ring_size : if (!bp->rx_ring_size) {
MAX_RX_AVAIL/BNX2X_NUM_RX_QUEUES(bp);
/* allocate at least number of buffers required by FW */ rx_ring_size = MAX_RX_AVAIL/BNX2X_NUM_RX_QUEUES(bp);
rx_ring_size = max_t(int, bp->disable_tpa ? MIN_RX_SIZE_NONTPA :
MIN_RX_SIZE_TPA, /* allocate at least number of buffers required by FW */
rx_ring_size); 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 */ /* Common */
sb = &bnx2x_fp(bp, index, status_blk); sb = &bnx2x_fp(bp, index, status_blk);
......
...@@ -1310,10 +1310,7 @@ static void bnx2x_get_ringparam(struct net_device *dev, ...@@ -1310,10 +1310,7 @@ static void bnx2x_get_ringparam(struct net_device *dev,
if (bp->rx_ring_size) if (bp->rx_ring_size)
ering->rx_pending = bp->rx_ring_size; ering->rx_pending = bp->rx_ring_size;
else else
if (bp->state == BNX2X_STATE_OPEN && bp->num_queues) ering->rx_pending = MAX_RX_AVAIL;
ering->rx_pending = MAX_RX_AVAIL/bp->num_queues;
else
ering->rx_pending = MAX_RX_AVAIL;
ering->rx_mini_pending = 0; ering->rx_mini_pending = 0;
ering->rx_jumbo_pending = 0; ering->rx_jumbo_pending = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment