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

Mike Christie
2009-07-30T15:31:25Z

Anil Veerabhadrappa wrote:
>
> * 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

I fixed this in libiscsi.

> * 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;
>

Looks ok.

Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>