[SCSI] bnx2i : Fix command session number jump issue seen during cable pull test
authorAnil Veerabhadrappa <anilgv@broadcom.com>
Thu, 30 Jul 2009 04:49:48 +0000 (21:49 -0700)
committerJames Bottomley <James.Bottomley@suse.de>
Sat, 22 Aug 2009 22:52:11 +0000 (17:52 -0500)
commit534cc9c165017dd29ae0f4458832893dc8033c6f
treea531f0ee309e7b69dc3b01c2a6bf35efff77f1fe
parent1d1b88dc01e5fd2b3e2abb7aa42d0f1eca4c33ea
[SCSI] bnx2i : Fix command session number jump issue seen during cable pull test

Without the fix bnx2i would fail tt->xmit_task() when link is down and
libiscsi would have already incremented session->cmdsn before calling bnx2i's
xmit_task() entry point and will just return the command to SCSI-ML when
xmit_task() fails. libiscsi does not retract the session->cmdsn as the command
was never sent on wire.  It is generally good idea for LLD, bnx2i to accept
the scsi cmnd/nopout and let upper layer timeout and go though normal session
recovery process.  When link is down, unsolicited nopout will not be accepted
by bnx2i and connection will never enter recovery state. This fix is required
for MPIO to work corectly

Signed-off-by: Anil Veerabhadrappa <anilgv@broadcom.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/bnx2i/bnx2i_iscsi.c