diff options
author | Alexander Gordeev <agordeev@redhat.com> | 2014-02-18 05:07:56 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-02-18 15:33:29 -0500 |
commit | 43c20200d13146b2e51a0bd069a566e582c75c9d (patch) | |
tree | 4e07645645c375b3879ac9647a32b1afe7d03d62 | |
parent | 6f1f411a2398bfdb55b4de9e60e830d5a85702d6 (diff) |
bna: Use pci_enable_msix_range() instead of pci_enable_msix()
As result of deprecation of MSI-X/MSI enablement functions
pci_enable_msix() and pci_enable_msi_block() all drivers
using these two interfaces need to be updated to use the
new pci_enable_msi_range() and pci_enable_msix_range()
interfaces.
Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Cc: Rasesh Mody <rmody@brocade.com>
Cc: netdev@vger.kernel.org
Cc: linux-pci@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/brocade/bna/bnad.c | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/drivers/net/ethernet/brocade/bna/bnad.c b/drivers/net/ethernet/brocade/bna/bnad.c index cf64f3d0b60d..bf436d0a1094 100644 --- a/drivers/net/ethernet/brocade/bna/bnad.c +++ b/drivers/net/ethernet/brocade/bna/bnad.c | |||
@@ -2666,9 +2666,11 @@ bnad_enable_msix(struct bnad *bnad) | |||
2666 | for (i = 0; i < bnad->msix_num; i++) | 2666 | for (i = 0; i < bnad->msix_num; i++) |
2667 | bnad->msix_table[i].entry = i; | 2667 | bnad->msix_table[i].entry = i; |
2668 | 2668 | ||
2669 | ret = pci_enable_msix(bnad->pcidev, bnad->msix_table, bnad->msix_num); | 2669 | ret = pci_enable_msix_range(bnad->pcidev, bnad->msix_table, |
2670 | if (ret > 0) { | 2670 | 1, bnad->msix_num); |
2671 | /* Not enough MSI-X vectors. */ | 2671 | if (ret < 0) { |
2672 | goto intx_mode; | ||
2673 | } else if (ret < bnad->msix_num) { | ||
2672 | pr_warn("BNA: %d MSI-X vectors allocated < %d requested\n", | 2674 | pr_warn("BNA: %d MSI-X vectors allocated < %d requested\n", |
2673 | ret, bnad->msix_num); | 2675 | ret, bnad->msix_num); |
2674 | 2676 | ||
@@ -2681,18 +2683,11 @@ bnad_enable_msix(struct bnad *bnad) | |||
2681 | bnad->msix_num = BNAD_NUM_TXQ + BNAD_NUM_RXP + | 2683 | bnad->msix_num = BNAD_NUM_TXQ + BNAD_NUM_RXP + |
2682 | BNAD_MAILBOX_MSIX_VECTORS; | 2684 | BNAD_MAILBOX_MSIX_VECTORS; |
2683 | 2685 | ||
2684 | if (bnad->msix_num > ret) | 2686 | if (bnad->msix_num > ret) { |
2685 | goto intx_mode; | 2687 | pci_disable_msix(bnad->pcidev); |
2686 | |||
2687 | /* Try once more with adjusted numbers */ | ||
2688 | /* If this fails, fall back to INTx */ | ||
2689 | ret = pci_enable_msix(bnad->pcidev, bnad->msix_table, | ||
2690 | bnad->msix_num); | ||
2691 | if (ret) | ||
2692 | goto intx_mode; | 2688 | goto intx_mode; |
2693 | 2689 | } | |
2694 | } else if (ret < 0) | 2690 | } |
2695 | goto intx_mode; | ||
2696 | 2691 | ||
2697 | pci_intx(bnad->pcidev, 0); | 2692 | pci_intx(bnad->pcidev, 0); |
2698 | 2693 | ||