[SCSI] lpfc 8.3.35: Correct missing queue destroy on function reset
authorJames Smart <james.smart@emulex.com>
Sat, 29 Sep 2012 15:29:29 +0000 (11:29 -0400)
committerJames Bottomley <JBottomley@Parallels.com>
Mon, 8 Oct 2012 10:51:45 +0000 (11:51 +0100)
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/lpfc/lpfc_sli.c

index ee804e726b8163a1f50abb4e70a31fcd49befe8a..f4ab975985a4cbfe7ab1c99111235fa223b33158 100644 (file)
@@ -3964,9 +3964,9 @@ lpfc_sli4_brdreset(struct lpfc_hba *phba)
        pci_write_config_word(phba->pcidev, PCI_COMMAND, (cfg_value &
                              ~(PCI_COMMAND_PARITY | PCI_COMMAND_SERR)));
 
-       /* Perform FCoE PCI function reset */
-       lpfc_sli4_queue_destroy(phba);
+       /* Perform FCoE PCI function reset before freeing queue memory */
        rc = lpfc_pci_function_reset(phba);
+       lpfc_sli4_queue_destroy(phba);
 
        /* Restore PCI cmd register */
        pci_write_config_word(phba->pcidev, PCI_COMMAND, cfg_value);