[SCSI] libiscsi, bnx2i: make bound ep check common
authorMike Christie <michaelc@cs.wisc.edu>
Sat, 5 Sep 2009 02:05:33 +0000 (07:35 +0530)
committerJames Bottomley <James.Bottomley@suse.de>
Sat, 12 Sep 2009 14:35:33 +0000 (09:35 -0500)
commit661134ad3765348ecd6150a92e736bf28ba40f80
tree48e36c4995421964faa322a5a313793e481edb55
parent4c0ba5d2593b5156327263f3ef6d7399dc0717b8
[SCSI] libiscsi, bnx2i: make bound ep check common

bnx2i currently has a check for if a ep is properly bound, so if
iscsi_queuecommand/xmit_task is called while there is no ep
we will not queue IO.

be2iscsi sends IO from queuecommand/xmit_task like how bnx2i does
and needs a similar test. This patch has us just use the suspend_bit
test for this.

When ep_poll has succeeed iscsid will call conn_bind, the LLD will
then call iscsi_conn_bind which will clear the suspend bit.
When ep_disconnect is called (or if there is a conn error) we set
the suspend bit. For the ep_disconnect case I am adding a helper
in this patch that will take the session lock to make sure
iscsi_queuecommand/xmit_task is not running and it will set
the suspend bit.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/libiscsi.c
include/scsi/libiscsi.h