be2net: post full RXQ on interface enable

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>
This commit is contained in:
Suresh Reddy 2015-05-06 05:30:36 -04:00 committed by David S. Miller
parent 77be8c1c4c
commit b02e60c86e

View File

@ -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;
}