diff options
author | Casey Leedom <leedom@chelsio.com> | 2010-07-19 20:53:48 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-07-20 15:42:43 -0400 |
commit | c8639a827fa48985432ad2e0e21b1280a1e3a65e (patch) | |
tree | 05f386d5f480f2c7598235b82474b0207258d16c /drivers/net | |
parent | 024e6293f959dc86827284bc1d7c93c8baed1ec6 (diff) |
cxgb4vf: Fix bug where we were only allocating one queue in MSI mode
Fix bug in setup_sge_queues() where we were incorrectly only allocating a
single "Queue Set" for MSI mode.
Signed-off-by: Casey Leedom <leedom@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/cxgb4vf/cxgb4vf_main.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/net/cxgb4vf/cxgb4vf_main.c b/drivers/net/cxgb4vf/cxgb4vf_main.c index d065516c0ffd..a16563219ac9 100644 --- a/drivers/net/cxgb4vf/cxgb4vf_main.c +++ b/drivers/net/cxgb4vf/cxgb4vf_main.c | |||
@@ -533,10 +533,9 @@ static int setup_sge_queues(struct adapter *adapter) | |||
533 | struct port_info *pi = netdev_priv(dev); | 533 | struct port_info *pi = netdev_priv(dev); |
534 | struct sge_eth_rxq *rxq = &s->ethrxq[pi->first_qset]; | 534 | struct sge_eth_rxq *rxq = &s->ethrxq[pi->first_qset]; |
535 | struct sge_eth_txq *txq = &s->ethtxq[pi->first_qset]; | 535 | struct sge_eth_txq *txq = &s->ethtxq[pi->first_qset]; |
536 | int nqsets = (adapter->flags & USING_MSIX) ? pi->nqsets : 1; | ||
537 | int qs; | 536 | int qs; |
538 | 537 | ||
539 | for (qs = 0; qs < nqsets; qs++, rxq++, txq++) { | 538 | for (qs = 0; qs < pi->nqsets; qs++, rxq++, txq++) { |
540 | err = t4vf_sge_alloc_rxq(adapter, &rxq->rspq, false, | 539 | err = t4vf_sge_alloc_rxq(adapter, &rxq->rspq, false, |
541 | dev, msix++, | 540 | dev, msix++, |
542 | &rxq->fl, t4vf_ethrx_handler); | 541 | &rxq->fl, t4vf_ethrx_handler); |
@@ -565,10 +564,9 @@ static int setup_sge_queues(struct adapter *adapter) | |||
565 | struct port_info *pi = netdev_priv(dev); | 564 | struct port_info *pi = netdev_priv(dev); |
566 | struct sge_eth_rxq *rxq = &s->ethrxq[pi->first_qset]; | 565 | struct sge_eth_rxq *rxq = &s->ethrxq[pi->first_qset]; |
567 | struct sge_eth_txq *txq = &s->ethtxq[pi->first_qset]; | 566 | struct sge_eth_txq *txq = &s->ethtxq[pi->first_qset]; |
568 | int nqsets = (adapter->flags & USING_MSIX) ? pi->nqsets : 1; | ||
569 | int qs; | 567 | int qs; |
570 | 568 | ||
571 | for (qs = 0; qs < nqsets; qs++, rxq++, txq++) { | 569 | for (qs = 0; qs < pi->nqsets; qs++, rxq++, txq++) { |
572 | IQ_MAP(s, rxq->rspq.abs_id) = &rxq->rspq; | 570 | IQ_MAP(s, rxq->rspq.abs_id) = &rxq->rspq; |
573 | EQ_MAP(s, txq->q.abs_id) = &txq->q; | 571 | EQ_MAP(s, txq->q.abs_id) = &txq->q; |
574 | 572 | ||