From f5e50f3911d14c68f0f7f3c8205a8b844293fd95 Mon Sep 17 00:00:00 2001 From: Vikas Chaudhary Date: Thu, 20 Sep 2012 07:35:06 -0400 Subject: [PATCH] --- yaml --- r: 328932 b: refs/heads/master c: 109a008bfe73322c1e2b16a7d23eb9899afe4352 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/scsi/qla4xxx/ql4_isr.c | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 771e27ec13f5..6e016bac4e31 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 39c95826018ed68216cb34a1f6eb8c6b302a24f4 +refs/heads/master: 109a008bfe73322c1e2b16a7d23eb9899afe4352 diff --git a/trunk/drivers/scsi/qla4xxx/ql4_isr.c b/trunk/drivers/scsi/qla4xxx/ql4_isr.c index 68bdb8c4d64c..50503217b069 100644 --- a/trunk/drivers/scsi/qla4xxx/ql4_isr.c +++ b/trunk/drivers/scsi/qla4xxx/ql4_isr.c @@ -1364,9 +1364,15 @@ int qla4xxx_request_irqs(struct scsi_qla_host *ha) pci_disable_msi(ha->pdev); } } - ql4_printk(KERN_WARNING, ha, - "MSI: Falling back-to INTx mode -- %d.\n", ret); + /* + * Prevent interrupts from falling back to INTx mode in cases where + * interrupts cannot get acquired through MSI-X or MSI mode. + */ + if (is_qla8022(ha)) { + ql4_printk(KERN_WARNING, ha, "IRQ not attached -- %d.\n", ret); + goto irq_not_attached; + } try_intx: /* Trying INTx */ ret = request_irq(ha->pdev->irq, ha->isp_ops->intr_handler, @@ -1380,7 +1386,7 @@ int qla4xxx_request_irqs(struct scsi_qla_host *ha) ql4_printk(KERN_WARNING, ha, "INTx: Failed to reserve interrupt %d already in" " use.\n", ha->pdev->irq); - return ret; + goto irq_not_attached; } irq_attached: @@ -1388,6 +1394,7 @@ int qla4xxx_request_irqs(struct scsi_qla_host *ha) ha->host->irq = ha->pdev->irq; ql4_printk(KERN_INFO, ha, "%s: irq %d attached\n", __func__, ha->pdev->irq); +irq_not_attached: return ret; }