scsi: qedi: Allocate IRQs based on msix_cnt
authorNilesh Javali <nilesh.javali@cavium.com>
Wed, 21 Nov 2018 09:25:18 +0000 (01:25 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 29 Nov 2018 01:51:47 +0000 (20:51 -0500)
The driver load on some systems failed with error,
[0004:01:00.5]:[qedi_request_msix_irq:2524]:8: request_irq failed.

Allocate the IRQs based on MSIX count obtained from qed module instead of
number of queues.

Signed-off-by: Nilesh Javali <nilesh.javali@cavium.com>
Reviewed-by: Lee Duncan <lduncan@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qedi/qedi_main.c

index a1225ae..5308e6b 100644 (file)
@@ -1298,7 +1298,7 @@ static int qedi_request_msix_irq(struct qedi_ctx *qedi)
        int i, rc, cpu;
 
        cpu = cpumask_first(cpu_online_mask);
-       for (i = 0; i < MIN_NUM_CPUS_MSIX(qedi); i++) {
+       for (i = 0; i < qedi->int_info.msix_cnt; i++) {
                rc = request_irq(qedi->int_info.msix[i].vector,
                                 qedi_msix_handler, 0, "qedi",
                                 &qedi->fp_array[i]);