> -----Original Message----- > From: linux-scsi-owner@xxxxxxxxxxxxxxx [mailto:linux-scsi- > owner@xxxxxxxxxxxxxxx] On Behalf Of Bhanu Prakash Gollapudi > Sent: Monday, April 25, 2011 3:30 PM > To: linux-scsi@xxxxxxxxxxxxxxx; devel@xxxxxxxxxxxxx > Cc: Nithin Nayak Sujir; Bhanu Prakash Gollapudi > Subject: [PATCH 2/5] bnx2fc: Release the reference to hba only after > the interface is destroyed > > From: Nithin Nayak Sujir <nsujir@xxxxxxxxxxxx> > > Prematurely decrementing the reference may lead to cmd_mgr becoming > NULL with > the cmds are still active. > > Signed-off-by: Nithin Nayak Sujir <nsujir@xxxxxxxxxxxx> > Signed-off-by: Bhanu Prakash Gollapudi <bprakash@xxxxxxxxxxxx> > --- > drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c > b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c > index 8fb9b6e..734d8c1 100644 > --- a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c > +++ b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c > @@ -1370,8 +1370,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); > > @@ -1399,6 +1397,8 @@ static void bnx2fc_if_destroy(struct fc_lport > *lport) > > /* Release Scsi_Host */ > scsi_host_put(lport->host); > + > + bnx2fc_interface_put(hba); > } > Shouldn't we decrease refcount for interface before the scsi host refcount is decreased..? It doesn't probably make a difference here since we are having a 1:1 between an interface and a host but it saves bugs later when things change.. Also it probably makes sense to call scsi_host_put in bnx2fc_destroy rather than in bnx2fc_if_destroy.. Maybe we could have more interfaces for a scsi host.. Shout if this doesn't make any sense. -Shyam Iyer -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html