Browse Source

[SCSI] bnx2fc: hold tgt lock when calling cmd_release

Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Bhanu Prakash Gollapudi 14 years ago
parent
commit
bd4d5de8b9
1 changed files with 2 additions and 0 deletions
  1. 2 0
      drivers/scsi/bnx2fc/bnx2fc_io.c

+ 2 - 0
drivers/scsi/bnx2fc/bnx2fc_io.c

@@ -752,7 +752,9 @@ retry_tmf:
 	rc = bnx2fc_init_mp_req(io_req);
 	if (rc == FAILED) {
 		printk(KERN_ERR PFX "Task mgmt MP request init failed\n");
+		spin_lock_bh(&tgt->tgt_lock);
 		kref_put(&io_req->refcount, bnx2fc_cmd_release);
+		spin_unlock_bh(&tgt->tgt_lock);
 		goto tmf_err;
 	}