All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anil Gurumurthy <Anil.Gurumurthy@qlogic.com>
To: Alexander Gordeev <agordeev@redhat.com>,
	linux-kernel <linux-kernel@vger.kernel.org>
Cc: linux-scsi <linux-scsi@vger.kernel.org>,
	linux-pci <linux-pci@vger.kernel.org>
Subject: RE: [PATCH v2 RESEND 02/23] bfa: Do not call pci_enable_msix() after it failed once
Date: Wed, 16 Apr 2014 09:03:47 +0000	[thread overview]
Message-ID: <20B1A3CBD98F3845B3F5F56D8597EF59F827E4@avmb2.qlogic.org> (raw)
In-Reply-To: <f9c36a94438cfb19e45f95111877f6e140b98089.1397461652.git.agordeev@redhat.com>

Patch look good.
Acked-by: Anil Gurumurthy <anil.gurumurthy@qlogic.com>

-----Original Message-----
From: linux-scsi-owner@vger.kernel.org [mailto:linux-scsi-owner@vger.kernel.org] On Behalf Of Alexander Gordeev
Sent: 14 April 2014 13:35
To: linux-kernel
Cc: Alexander Gordeev; Anil Gurumurthy; Vijaya Mohan Guvva; linux-scsi; linux-pci
Subject: [PATCH v2 RESEND 02/23] bfa: Do not call pci_enable_msix() after it failed once

Function pci_enable_msix() should not be called in case it threw a negative errno from a previous call.

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
Acked-by: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
---
 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 cc0fbcd..972ff8d 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

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at  http://vger.kernel.org/majordomo-info.html

________________________________

This message and any attached documents contain information from QLogic Corporation or its wholly-owned subsidiaries that may be confidential. If you are not the intended recipient, you may not read, copy, distribute, or use this information. If you have received this transmission in error, please notify the sender immediately by reply e-mail and then delete this message.

WARNING: multiple messages have this Message-ID (diff)
From: Anil Gurumurthy <Anil.Gurumurthy@qlogic.com>
To: Alexander Gordeev <agordeev@redhat.com>,
	linux-kernel <linux-kernel@vger.kernel.org>
Cc: linux-scsi <linux-scsi@vger.kernel.org>,
	linux-pci <linux-pci@vger.kernel.org>
Subject: RE: [PATCH v2 RESEND 02/23] bfa: Do not call pci_enable_msix() after it failed once
Date: Wed, 16 Apr 2014 09:03:47 +0000	[thread overview]
Message-ID: <20B1A3CBD98F3845B3F5F56D8597EF59F827E4@avmb2.qlogic.org> (raw)
In-Reply-To: <f9c36a94438cfb19e45f95111877f6e140b98089.1397461652.git.agordeev@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 4790 bytes --]

Patch look good.
Acked-by: Anil Gurumurthy <anil.gurumurthy@qlogic.com>

-----Original Message-----
From: linux-scsi-owner@vger.kernel.org [mailto:linux-scsi-owner@vger.kernel.org] On Behalf Of Alexander Gordeev
Sent: 14 April 2014 13:35
To: linux-kernel
Cc: Alexander Gordeev; Anil Gurumurthy; Vijaya Mohan Guvva; linux-scsi; linux-pci
Subject: [PATCH v2 RESEND 02/23] bfa: Do not call pci_enable_msix() after it failed once

Function pci_enable_msix() should not be called in case it threw a negative errno from a previous call.

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
Acked-by: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
---
 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 cc0fbcd..972ff8d 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

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at  http://vger.kernel.org/majordomo-info.html

________________________________

This message and any attached documents contain information from QLogic Corporation or its wholly-owned subsidiaries that may be confidential. If you are not the intended recipient, you may not read, copy, distribute, or use this information. If you have received this transmission in error, please notify the sender immediately by reply e-mail and then delete this message.

[-- Attachment #2: winmail.dat --]
[-- Type: application/ms-tnef, Size: 5652 bytes --]

  reply	other threads:[~2014-04-16 12:12 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-14  8:05 [PATCH v2 RESEND 00/23] scsi: Use pci_enable_msix_range() instead of pci_enable_msix() Alexander Gordeev
2014-04-14  8:05 ` [PATCH v2 RESEND 01/23] be2iscsi: Use pci_enable_msix_exact() " Alexander Gordeev
2014-04-14  8:05 ` [PATCH v2 RESEND 02/23] bfa: Do not call pci_enable_msix() after it failed once Alexander Gordeev
2014-04-16  9:03   ` Anil Gurumurthy [this message]
2014-04-16  9:03     ` Anil Gurumurthy
2014-04-14  8:05 ` [PATCH v2 RESEND 03/23] bfa: Cleanup bfad_setup_intr() function Alexander Gordeev
2014-04-16  9:04   ` Anil Gurumurthy
2014-04-16  9:04     ` Anil Gurumurthy
2014-04-16  9:05   ` Anil Gurumurthy
2014-04-16  9:05     ` Anil Gurumurthy
2014-04-14  8:05 ` [PATCH v2 RESEND 04/23] bfa: Use pci_enable_msix_exact() instead of pci_enable_msix() Alexander Gordeev
2014-04-16  9:05   ` Anil Gurumurthy
2014-04-16  9:05     ` Anil Gurumurthy
2014-04-14  8:05 ` [PATCH v2 RESEND 05/23] csiostor: Remove superfluous call to pci_disable_msix() Alexander Gordeev
2014-04-14  8:05 ` [PATCH v2 RESEND 06/23] csiostor: Use pci_enable_msix_range() instead of pci_enable_msix() Alexander Gordeev
2014-04-14  8:05 ` [PATCH v2 RESEND 07/23] fnic: Use pci_enable_msix_exact() " Alexander Gordeev
2014-04-14  8:05 ` [PATCH v2 RESEND 08/23] isci: " Alexander Gordeev
2014-04-16 12:51   ` Artur Paszkiewicz
2014-04-14  8:05 ` [PATCH v2 RESEND 09/23] hpsa: Fallback to MSI rather than to INTx if MSI-X failed Alexander Gordeev
2014-04-14  8:05 ` [PATCH v2 RESEND 10/23] hpsa: Use pci_enable_msix_range() instead of pci_enable_msix() Alexander Gordeev
2014-08-13 19:27   ` scameron
2014-04-14  8:05 ` [PATCH v2 RESEND 11/23] lpfc: Remove superfluous call to pci_disable_msix() Alexander Gordeev
2014-04-14  8:05 ` [PATCH v2 RESEND 12/23] lpfc: Use pci_enable_msix_range() instead of pci_enable_msix() Alexander Gordeev
2014-04-14  8:05 ` [PATCH v2 RESEND 13/23] megaraid: Fail resume if MSI-X re-initialization failed Alexander Gordeev
2014-04-14  8:05 ` [PATCH v2 RESEND 14/23] megaraid: Use pci_enable_msix_range() instead of pci_enable_msix() Alexander Gordeev
2014-04-14  8:05 ` [PATCH v2 RESEND 15/23] mpt2sas: Use pci_enable_msix_exact() " Alexander Gordeev
2014-04-14  8:05 ` [PATCH v2 RESEND 16/23] mpt3sas: " Alexander Gordeev
2014-04-14  8:05 ` [PATCH v2 RESEND 17/23] pm8001: Fix invalid return when request_irq() failed Alexander Gordeev
2014-04-14  8:05 ` [PATCH v2 RESEND 18/23] pm8001: Use pci_enable_msix_exact() instead of pci_enable_msix() Alexander Gordeev
2014-04-14  8:05 ` [PATCH v2 RESEND 19/23] pmcraid: Get rid of a redundant assignment Alexander Gordeev
2014-04-14  8:05 ` [PATCH v2 RESEND 20/23] pmcraid: Use pci_enable_msix_range() instead of pci_enable_msix() Alexander Gordeev
2014-04-14  8:05 ` [PATCH v2 RESEND 21/23] qla2xxx: " Alexander Gordeev
2014-04-14  8:05 ` [PATCH v2 RESEND 22/23] qla4xxx: Use pci_enable_msix_exact() " Alexander Gordeev
2014-04-15 12:48   ` Vikas Chaudhary
2014-04-15 12:48     ` Vikas Chaudhary
2014-04-14  8:05 ` [PATCH v2 RESEND 23/23] vmw_pvscsi: " Alexander Gordeev
2014-04-24 17:09 ` [PATCH v2 RESEND 00/23] scsi: Use pci_enable_msix_range() " Bjorn Helgaas
2014-04-24 17:51   ` James Bottomley
2014-04-24 18:07     ` Bjorn Helgaas
2014-07-07 18:03       ` Alexander Gordeev
2014-06-16  7:35     ` Alexander Gordeev
2014-07-16 18:05 Alexander Gordeev
2014-07-16 18:05 ` [PATCH v2 RESEND 02/23] bfa: Do not call pci_enable_msix() after it failed once 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=20B1A3CBD98F3845B3F5F56D8597EF59F827E4@avmb2.qlogic.org \
    --to=anil.gurumurthy@qlogic.com \
    --cc=agordeev@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.