From: Alexander Gordeev <agordeev@redhat.com>
To: linux-kernel@vger.kernel.org
Cc: Alexander Gordeev <agordeev@redhat.com>,
Anil Gurumurthy <agurumur@brocade.com>,
Vijaya Mohan Guvva <vmohan@brocade.com>,
linux-scsi@vger.kernel.org, linux-pci@vger.kernel.org
Subject: [PATCH 02/22] bfa: Do not call pci_enable_msix() once it failed
Date: Tue, 4 Feb 2014 12:16:48 +0100 [thread overview]
Message-ID: <a2c28d9475021b99aa35bba9e84f4237d6b32cde.1391512266.git.agordeev@redhat.com> (raw)
In-Reply-To: <cover.1391512266.git.agordeev@redhat.com>
Function pci_enable_msix() should not be called again in
case it threw a negative errno.
Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Cc: Anil Gurumurthy <agurumur@brocade.com>
Cc: Vijaya Mohan Guvva <vmohan@brocade.com>
Cc: linux-scsi@vger.kernel.org
Cc: linux-pci@vger.kernel.org
---
drivers/scsi/bfa/bfad.c | 48 ++++++++++++++++++++++------------------------
1 files changed, 23 insertions(+), 25 deletions(-)
diff --git a/drivers/scsi/bfa/bfad.c b/drivers/scsi/bfa/bfad.c
index 85ee9c0..9b3e407 100644
--- a/drivers/scsi/bfa/bfad.c
+++ b/drivers/scsi/bfa/bfad.c
@@ -1235,33 +1235,31 @@ bfad_setup_intr(struct bfad_s *bfad)
(bfa_asic_id_cb(pdev->device) && !msix_disable_cb)) {
error = pci_enable_msix(bfad->pcidev, msix_entries, bfad->nvec);
- if (error) {
- /* In CT1 & CT2, try to allocate just one vector */
- if (bfa_asic_id_ctc(pdev->device)) {
- printk(KERN_WARNING "bfa %s: trying one msix "
- "vector failed to allocate %d[%d]\n",
- bfad->pci_name, bfad->nvec, error);
- bfad->nvec = 1;
- error = pci_enable_msix(bfad->pcidev,
+ /* In CT1 & CT2, try to allocate just one vector */
+ if (error > 0 && bfa_asic_id_ctc(pdev->device)) {
+ printk(KERN_WARNING "bfa %s: trying one msix "
+ "vector failed to allocate %d[%d]\n",
+ bfad->pci_name, bfad->nvec, error);
+ bfad->nvec = 1;
+ error = pci_enable_msix(bfad->pcidev,
msix_entries, bfad->nvec);
- }
+ }
- /*
- * Only error number of vector is available.
- * We don't have a mechanism to map multiple
- * interrupts into one vector, so even if we
- * can try to request less vectors, we don't
- * know how to associate interrupt events to
- * vectors. Linux doesn't duplicate vectors
- * in the MSIX table for this case.
- */
- if (error) {
- printk(KERN_WARNING "bfad%d: "
- "pci_enable_msix failed (%d), "
- "use line based.\n",
- bfad->inst_no, error);
- goto line_based;
- }
+ /*
+ * Only error number of vector is available.
+ * We don't have a mechanism to map multiple
+ * interrupts into one vector, so even if we
+ * can try to request less vectors, we don't
+ * know how to associate interrupt events to
+ * vectors. Linux doesn't duplicate vectors
+ * in the MSIX table for this case.
+ */
+ if (error) {
+ printk(KERN_WARNING "bfad%d: "
+ "pci_enable_msix failed (%d), "
+ "use line based.\n",
+ bfad->inst_no, error);
+ goto line_based;
}
/* Disable INTX in MSI-X mode */
--
1.7.7.6
next prev parent reply other threads:[~2014-02-04 11:16 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-04 11:16 [PATCH 00/22] scsi: Use pci_enable_msix_range() Alexander Gordeev
2014-02-04 11:16 ` [PATCH 01/22] be2iscsi: " Alexander Gordeev
2014-02-05 4:58 ` Jayamohan Kallickal
2014-02-04 11:16 ` Alexander Gordeev [this message]
2014-02-13 17:39 ` [PATCH 02/22] bfa: Do not call pci_enable_msix() once it failed Alexander Gordeev
2014-02-04 11:16 ` [PATCH 03/22] bfa: Cleanup bfad_setup_intr() Alexander Gordeev
2014-02-04 11:16 ` [PATCH 04/22] bfa: Use pci_enable_msix_range() Alexander Gordeev
2014-02-04 11:16 ` [PATCH 05/22] csiostor: Remove superfluous call to pci_disable_msix() Alexander Gordeev
2014-02-04 11:16 ` [PATCH 06/22] csiostor: Use pci_enable_msix_range() Alexander Gordeev
2014-02-04 11:16 ` [PATCH 07/22] fnic: " Alexander Gordeev
2014-02-11 5:00 ` Suma Ramars (sramars)
2014-02-04 11:16 ` [PATCH 08/22] hpsa: Fallback to MSI rather than to INTx if MSI-X failed Alexander Gordeev
2014-02-04 11:16 ` [PATCH 09/22] hpsa: Use pci_enable_msix_range() Alexander Gordeev
2014-02-04 11:16 ` [PATCH 10/22] isci: " Alexander Gordeev
2014-02-06 14:25 ` Dorau, Lukasz
2014-02-04 11:16 ` [PATCH 11/22] lpfc: Remove superfluous call to pci_disable_msix() Alexander Gordeev
2014-02-13 17:46 ` Alexander Gordeev
2014-02-20 15:16 ` James Smart
2014-02-04 11:16 ` [PATCH 12/22] lpfc: Use pci_enable_msix_range() Alexander Gordeev
2014-02-04 11:16 ` [PATCH 13/22] megaraid: " Alexander Gordeev
2014-02-07 11:17 ` Saxena, Sumit
2014-02-04 11:17 ` [PATCH 14/22] mpt2sas: " Alexander Gordeev
2014-02-13 17:47 ` Alexander Gordeev
2014-02-04 11:17 ` [PATCH 15/22] mpt3sas: " Alexander Gordeev
2014-02-04 11:17 ` [PATCH 16/22] pm8001: Fix invalid success return when request_irq() failed Alexander Gordeev
2014-02-04 12:01 ` Jack Wang
2014-02-04 11:17 ` [PATCH 17/22] pm8001: Use pci_enable_msix_range() Alexander Gordeev
2014-02-04 12:04 ` Jack Wang
2014-02-04 11:17 ` [PATCH 18/22] pmcraid: Get rid of a redundant assignment Alexander Gordeev
2014-02-13 17:49 ` Alexander Gordeev
2014-02-04 11:17 ` [PATCH 19/22] pmcraid: Use pci_enable_msix_range() Alexander Gordeev
2014-02-13 17:55 ` Alexander Gordeev
2014-02-04 11:17 ` [PATCH 20/22] qla2xxx: " Alexander Gordeev
2014-02-25 9:52 ` Saurav Kashyap
2014-02-04 11:17 ` [PATCH 21/22] qla4xxx: " Alexander Gordeev
2014-02-13 17:54 ` Alexander Gordeev
2014-02-18 8:37 ` Vikas Chaudhary
2014-02-04 11:17 ` [PATCH 22/22] vmw_pvscsi: " Alexander Gordeev
2014-02-04 21:47 ` Arvind Kumar
2014-02-19 8:15 ` [PATCH 00/22] scsi: " Alexander Gordeev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a2c28d9475021b99aa35bba9e84f4237d6b32cde.1391512266.git.agordeev@redhat.com \
--to=agordeev@redhat.com \
--cc=agurumur@brocade.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=vmohan@brocade.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).