aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/bnx2i/bnx2i_hwi.c
diff options
context:
space:
mode:
authorEddie Wai <eddie.wai@broadcom.com>2011-01-08 18:00:24 -0800
committerJames Bottomley <James.Bottomley@suse.de>2011-01-24 11:40:30 -0600
commit70e14722718ea3fc66400924f7a99c7d8c62b8ff (patch)
tree9df32c2dafe9c708b3818a15c4f483af06cc27e4 /drivers/scsi/bnx2i/bnx2i_hwi.c
parentb8ce8b59b8d64ee0d864706b9d3cca2a9b314bf5 (diff)
downloadkernel_samsung_smdk4412-70e14722718ea3fc66400924f7a99c7d8c62b8ff.zip
kernel_samsung_smdk4412-70e14722718ea3fc66400924f7a99c7d8c62b8ff.tar.gz
kernel_samsung_smdk4412-70e14722718ea3fc66400924f7a99c7d8c62b8ff.tar.bz2
[SCSI] bnx2i: Added reconnect fix connecting against Lefthand targets
The nopout's reserved field was not being initialized to zero before being reused. Stale CDB values from previous SCSI cmds of the same BHS offset was the cause of the disconnection initiated by the Lefthand target. Signed-off-by: Eddie Wai <eddie.wai@broadcom.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/bnx2i/bnx2i_hwi.c')
-rw-r--r--drivers/scsi/bnx2i/bnx2i_hwi.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/bnx2i/bnx2i_hwi.c b/drivers/scsi/bnx2i/bnx2i_hwi.c
index 96505e3..603db9d 100644
--- a/drivers/scsi/bnx2i/bnx2i_hwi.c
+++ b/drivers/scsi/bnx2i/bnx2i_hwi.c
@@ -490,6 +490,9 @@ int bnx2i_send_iscsi_nopout(struct bnx2i_conn *bnx2i_conn,
bnx2i_cmd = (struct bnx2i_cmd *)task->dd_data;
nopout_hdr = (struct iscsi_nopout *)task->hdr;
nopout_wqe = (struct bnx2i_nop_out_request *)ep->qp.sq_prod_qe;
+
+ memset(nopout_wqe, 0x00, sizeof(struct bnx2i_nop_out_request));
+
nopout_wqe->op_code = nopout_hdr->opcode;
nopout_wqe->op_attr = ISCSI_FLAG_CMD_FINAL;
memcpy(nopout_wqe->lun, nopout_hdr->lun, 8);