[SCSI] be2iscsi: check boot_kset is created before destroying it
authorJayamohan Kallickal <jayamohan.kallickal@emulex.com>
Fri, 25 Mar 2011 21:24:00 +0000 (14:24 -0700)
committerJames Bottomley <James.Bottomley@suse.de>
Fri, 15 Apr 2011 21:46:16 +0000 (16:46 -0500)
Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/be2iscsi/be_main.c

index 7fe38a49bbb7caa81d551257e29a7e1a1006e1b2..91b354daf94be504e9e8ad7d45fc4e6aadc277ac 100644 (file)
@@ -420,7 +420,8 @@ static int beiscsi_setup_boot_info(struct beiscsi_hba *phba)
        return 0;
 
 free_kset:
-       iscsi_boot_destroy_kset(phba->boot_kset);
+       if (phba->boot_kset)
+               iscsi_boot_destroy_kset(phba->boot_kset);
        return -ENOMEM;
 }
 
@@ -4144,10 +4145,11 @@ static void beiscsi_remove(struct pci_dev *pcidev)
                            phba->ctrl.mbox_mem_alloced.size,
                            phba->ctrl.mbox_mem_alloced.va,
                            phba->ctrl.mbox_mem_alloced.dma);
+       if (phba->boot_kset)
+               iscsi_boot_destroy_kset(phba->boot_kset);
        iscsi_host_remove(phba->shost);
        pci_dev_put(phba->pcidev);
        iscsi_host_free(phba->shost);
-       iscsi_boot_destroy_kset(phba->boot_kset);
 }
 
 static void beiscsi_msix_enable(struct beiscsi_hba *phba)