]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
hpsa: skip free_irq calls if irqs are not allocated
authorRobert Elliott <elliott@hp.com>
Fri, 6 Nov 2015 13:47:44 +0000 (05:47 -0800)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 10 Mar 2016 19:48:52 +0000 (11:48 -0800)
If try_soft_reset fails to re-allocate irqs, the error exit
starts with free_irq calls, which generate kernel WARN
messages since they were already freed a few lines earlier.

Jump to the next exit label to skip the free_irq calls.

Reviewed-by: Scott Teel <scott.teel@pmcs.com>
Reviewed-by: Kevin Barnett <kevin.barnett@pmcs.com>
Signed-off-by: Robert Elliott <elliott@hp.com>
Signed-off-by: Don Brace <don.brace@pmcs.com>
Orabug: 22075051
Acked-by: Chuck Anderson <chuck.anderson@oracle.com>
drivers/scsi/hpsa.c

index 83f91c50b015a0299febf4b88f6358817fd9ce86..c5fbee7a48fc84b950dcdc22dc57082a5c8ba342 100644 (file)
@@ -7758,7 +7758,12 @@ reinit_after_soft_reset:
                if (rc) {
                        dev_warn(&h->pdev->dev,
                                "Failed to request_irq after soft reset.\n");
-                       goto clean4;
+                       /*
+                        * clean4 starts with free_irqs, but that was just
+                        * done. Then, request_irqs_failed, so there is
+                        * nothing to free. So, goto the next label.
+                        */
+                       goto clean3;
                }
 
                rc = hpsa_kdump_soft_reset(h);