Skip to content

Commit

Permalink
be2net: post full RXQ on interface enable
Browse files Browse the repository at this point in the history
When an RXQ is created in be_open(), the driver currently posts only
64 buffers. This sometimes results in packet drops when there is a traffic
burst as soon as the interface is enabled.
This patch fixes this problem by posting the full RXQ on interface enable.

Signed-off-by: Suresh Reddy <Suresh.Reddy@avagotech.com>
Signed-off-by: Sathya Perla <sathya.perla@avagotech.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Suresh Reddy authored and David S. Miller committed May 9, 2015
1 parent 77be8c1 commit b02e60c
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions drivers/net/ethernet/emulex/benet/be_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -3326,9 +3326,12 @@ static int be_rx_qs_create(struct be_adapter *adapter)

memcpy(rss->rss_hkey, rss_key, RSS_HASH_KEY_LEN);

/* First time posting */
/* Post 1 less than RXQ-len to avoid head being equal to tail,
* which is a queue empty condition
*/
for_all_rx_queues(adapter, rxo, i)
be_post_rx_frags(rxo, GFP_KERNEL, MAX_RX_POST);
be_post_rx_frags(rxo, GFP_KERNEL, RX_Q_LEN - 1);

return 0;
}

Expand Down

0 comments on commit b02e60c

Please sign in to comment.