OSDN Git Service

[SCSI] bnx2fc: Release the reference to hba only after the interface is destroyed
authorNithin Nayak Sujir <nsujir@broadcom.com>
Mon, 25 Apr 2011 19:30:07 +0000 (12:30 -0700)
committerJames Bottomley <James.Bottomley@suse.de>
Sun, 1 May 2011 16:52:18 +0000 (11:52 -0500)
Prematurely decrementing the reference may lead to cmd_mgr becoming NULL with
the cmds are still active.

Signed-off-by: Nithin Nayak Sujir <nsujir@broadcom.com>
Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/bnx2fc/bnx2fc_fcoe.c

index e2e6475..b936aee 100644 (file)
@@ -1352,8 +1352,6 @@ static void bnx2fc_if_destroy(struct fc_lport *lport)
        /* Free existing transmit skbs */
        fcoe_clean_pending_queue(lport);
 
-       bnx2fc_interface_put(hba);
-
        /* Free queued packets for the receive thread */
        bnx2fc_clean_rx_queue(lport);
 
@@ -1372,6 +1370,8 @@ static void bnx2fc_if_destroy(struct fc_lport *lport)
 
        /* Release Scsi_Host */
        scsi_host_put(lport->host);
+
+       bnx2fc_interface_put(hba);
 }
 
 /**