[SCSI] bnx2i: Added fix for NOP-Out response panic from unsolicited NOP-In
authorEddie Wai <eddie.wai@broadcom.com>
Tue, 23 Nov 2010 23:29:21 +0000 (15:29 -0800)
committerJames Bottomley <James.Bottomley@suse.de>
Tue, 21 Dec 2010 18:24:10 +0000 (12:24 -0600)
commit8eea2f55a65b9471276e78e5c86ddd19c4c0365c
tree5b40a3401d20d6d40ce22e86307e3252a3e7b67d
parent5ee32576269f33b66c6dbc98144aead1e74a1e91
[SCSI] bnx2i: Added fix for NOP-Out response panic from unsolicited NOP-In

The patch fixes the following situations where NOP-Out pkt is called for:
- local unsolicited NOP-Out requests (requesting no NOP-In response)
- local NOP-Out responses to unsolicited NOP-In requests

kernel panic is observed due to double session spin_lock requests; one in the
bnx2i_process_nopin_local_cmpl routine in bnx2i_hwi.c and the other in the
iscsi_put_task routine in libiscsi.c

The proposed fix is to export the currently static __iscsi_put_task() routine
and have bnx2i call it directly instead of the iscsi_put_task() routine which
holds the session spin lock.

Signed-off-by: Eddie Wai <eddie.wai@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Reviewed-by: Anil Veerabhadrappa <anilgv@broadcom.com>
Acked-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/bnx2i/bnx2i_hwi.c
drivers/scsi/libiscsi.c
include/scsi/libiscsi.h