summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_isr.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-01-29 11:56:45 +0900
committerPaul Mundt <lethal@linux-sh.org>2009-01-29 11:56:45 +0900
commite4e3c3f17fdb78282e3d9b4af7ec90d6e65798eb (patch)
treeb7018503c1b343e46b9a406855e64ec13bd62d6a /drivers/scsi/qla2xxx/qla_isr.c
parentae5e6d05a606e05e054f816bd01e02f69d38d283 (diff)
parentc20f326a62c046ee958c3aa584f183201adb229f (diff)
downloadtalos-op-linux-e4e3c3f17fdb78282e3d9b4af7ec90d6e65798eb.tar.gz
talos-op-linux-e4e3c3f17fdb78282e3d9b4af7ec90d6e65798eb.zip
Merge branch 'sh/stable-updates'
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_isr.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_isr.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
index 789fc576f222..e28ad81baf1e 100644
--- a/drivers/scsi/qla2xxx/qla_isr.c
+++ b/drivers/scsi/qla2xxx/qla_isr.c
@@ -1868,6 +1868,7 @@ qla24xx_disable_msix(struct qla_hw_data *ha)
static int
qla24xx_enable_msix(struct qla_hw_data *ha, struct rsp_que *rsp)
{
+#define MIN_MSIX_COUNT 2
int i, ret;
struct msix_entry *entries;
struct qla_msix_entry *qentry;
@@ -1883,12 +1884,16 @@ qla24xx_enable_msix(struct qla_hw_data *ha, struct rsp_que *rsp)
ret = pci_enable_msix(ha->pdev, entries, ha->msix_count);
if (ret) {
+ if (ret < MIN_MSIX_COUNT)
+ goto msix_failed;
+
qla_printk(KERN_WARNING, ha,
"MSI-X: Failed to enable support -- %d/%d\n"
" Retry with %d vectors\n", ha->msix_count, ret, ret);
ha->msix_count = ret;
ret = pci_enable_msix(ha->pdev, entries, ha->msix_count);
if (ret) {
+msix_failed:
qla_printk(KERN_WARNING, ha, "MSI-X: Failed to enable"
" support, giving up -- %d/%d\n",
ha->msix_count, ret);
OpenPOWER on IntegriCloud