]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/scsi/qla2xxx/qla_isr.c
[SCSI] qla2xxx: Remove interrupt request bit check in the response processing path...
[net-next-2.6.git] / drivers / scsi / qla2xxx / qla_isr.c
index 789fc576f222b305c7b5bd5a222986458ced33ae..b5554ea4693bb429a1cb10305c121fa662b57b3d 100644 (file)
@@ -1707,7 +1707,6 @@ qla25xx_msix_rsp_q(int irq, void *dev_id)
        struct qla_hw_data *ha;
        struct rsp_que *rsp;
        struct device_reg_24xx __iomem *reg;
-       uint16_t msix_disabled_hccr = 0;
 
        rsp = (struct rsp_que *) dev_id;
        if (!rsp) {
@@ -1720,17 +1719,8 @@ qla25xx_msix_rsp_q(int irq, void *dev_id)
 
        spin_lock_irq(&ha->hardware_lock);
 
-       msix_disabled_hccr = rsp->options;
-       if (!rsp->id)
-               msix_disabled_hccr &= __constant_cpu_to_le32(BIT_22);
-       else
-               msix_disabled_hccr &= __constant_cpu_to_le32(BIT_6);
-
        qla24xx_process_response_queue(rsp);
 
-       if (!msix_disabled_hccr)
-               WRT_REG_DWORD(&reg->hccr, HCCRX_CLR_RISC_INT);
-
        spin_unlock_irq(&ha->hardware_lock);
 
        return IRQ_HANDLED;
@@ -1868,6 +1858,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 +1874,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);