be2iscsi: Fix kernel panic when device initialization fails
authorJohn Soni Jose <sony.john-n@emulex.com>
Thu, 12 Feb 2015 01:15:47 +0000 (06:45 +0530)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 9 May 2015 22:16:35 +0000 (23:16 +0100)
commit 2e7cee027b26cbe7e6685a7a14bd2850bfe55d33 upstream.

Kernel panic was happening as iscsi_host_remove() was called on
a host which was not yet added.

Signed-off-by: John Soni Jose <sony.john-n@emulex.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/scsi/be2iscsi/be_main.c

index 2e4729d..b9ee9f3 100644 (file)
@@ -4397,9 +4397,9 @@ free_port:
 hba_free:
        if (phba->msix_enabled)
                pci_disable_msix(phba->pcidev);
-       iscsi_host_remove(phba->shost);
        pci_dev_put(phba->pcidev);
        iscsi_host_free(phba->shost);
+       pci_set_drvdata(pcidev, NULL);
 disable_pci:
        pci_disable_device(pcidev);
        return ret;