From c5640a221bdaf313b1c391293a207b4c93aa6571 Mon Sep 17 00:00:00 2001 From: Padmanabh Ratnakar Date: Fri, 25 Nov 2011 05:48:53 +0000 Subject: [PATCH] --- yaml --- r: 277961 b: refs/heads/master c: e9008ee99c77207b2f6aee67e5f849b1e1400a11 h: refs/heads/master i: 277959: bc6569e7cc6b605c690eecf70a9155ce6c1995b2 v: v3 --- [refs] | 2 +- .../drivers/net/ethernet/emulex/benet/be_main.c | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index a17f7388e3ee..7d6b0f197514 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 65f8584e253f4676c8b39e976a10e918ec984b7c +refs/heads/master: e9008ee99c77207b2f6aee67e5f849b1e1400a11 diff --git a/trunk/drivers/net/ethernet/emulex/benet/be_main.c b/trunk/drivers/net/ethernet/emulex/benet/be_main.c index 66429ea60bb2..7236280c1af0 100644 --- a/trunk/drivers/net/ethernet/emulex/benet/be_main.c +++ b/trunk/drivers/net/ethernet/emulex/benet/be_main.c @@ -2312,8 +2312,8 @@ static int be_close(struct net_device *netdev) static int be_rx_queues_setup(struct be_adapter *adapter) { struct be_rx_obj *rxo; - int rc, i; - u8 rsstable[MAX_RSS_QS]; + int rc, i, j; + u8 rsstable[128]; for_all_rx_queues(adapter, rxo, i) { rc = be_cmd_rxq_create(adapter, &rxo->q, rxo->cq.id, @@ -2325,11 +2325,15 @@ static int be_rx_queues_setup(struct be_adapter *adapter) } if (be_multi_rxq(adapter)) { - for_all_rss_queues(adapter, rxo, i) - rsstable[i] = rxo->rss_id; + for (j = 0; j < 128; j += adapter->num_rx_qs - 1) { + for_all_rss_queues(adapter, rxo, i) { + if ((j + i) >= 128) + break; + rsstable[j + i] = rxo->rss_id; + } + } + rc = be_cmd_rss_config(adapter, rsstable, 128); - rc = be_cmd_rss_config(adapter, rsstable, - adapter->num_rx_qs - 1); if (rc) return rc; }