forked from Minki/linux
be2net: Fix a bug in Rx buffer posting
The numPosted field in the ERX Doorbell register is 8-bits wide. So the max buffers that we can post at a time is 255 and not 256 which we are doing currently. Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5eeb292215
commit
69304cc986
@ -97,6 +97,7 @@
|
||||
#define BE_NAPI_WEIGHT 64
|
||||
#define MAX_RX_POST BE_NAPI_WEIGHT /* Frags posted at a time */
|
||||
#define RX_FRAGS_REFILL_WM (RX_Q_LEN - MAX_RX_POST)
|
||||
#define MAX_NUM_POST_ERX_DB 255u
|
||||
|
||||
#define MAX_VFS 30 /* Max VFs supported by BE3 FW */
|
||||
#define FW_VER_LEN 32
|
||||
|
@ -2032,7 +2032,7 @@ static void be_post_rx_frags(struct be_rx_obj *rxo, gfp_t gfp, u32 frags_needed)
|
||||
if (rxo->rx_post_starved)
|
||||
rxo->rx_post_starved = false;
|
||||
do {
|
||||
notify = min(256u, posted);
|
||||
notify = min(MAX_NUM_POST_ERX_DB, posted);
|
||||
be_rxq_notify(adapter, rxq->id, notify);
|
||||
posted -= notify;
|
||||
} while (posted);
|
||||
|
Loading…
Reference in New Issue
Block a user