[PATCH 1/2] bnx2i : Fix CMDSN jump issue seen during cable pull test

Anil Veerabhadrappa
2009-07-30T04:49:56Z

* Without the fix bnx2i would fail tt->xmit_task() when link is down
* 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>
---
drivers/scsi/bnx2i/bnx2i_iscsi.c | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/bnx2i/bnx2i_iscsi.c b/drivers/scsi/bnx2i/bnx2i_iscsi.c
index f741219..9535bb6 100644
--- a/drivers/scsi/bnx2i/bnx2i_iscsi.c
+++ b/drivers/scsi/bnx2i/bnx2i_iscsi.c
@@ -1160,9 +1160,6 @@ static int bnx2i_task_xmit(struct iscsi_task *task)
struct bnx2i_cmd *cmd = task->dd_data;
struct iscsi_cmd *hdr = (struct iscsi_cmd *) task->hdr;

- if (test_bit(ADAPTER_STATE_LINK_DOWN, &hba->adapter_state))
- return -ENOTCONN;
-
if (!bnx2i_conn->is_bound)
return -ENOTCONN;

--
1.5.4.3