aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/bnx2i/bnx2i_hwi.c
diff options
context:
space:
mode:
authorEddie Wai <eddie.wai@broadcom.com>2011-01-08 21:00:24 -0500
committerJames Bottomley <James.Bottomley@suse.de>2011-01-24 12:40:30 -0500
commit70e14722718ea3fc66400924f7a99c7d8c62b8ff (patch)
tree9df32c2dafe9c708b3818a15c4f483af06cc27e4 /drivers/scsi/bnx2i/bnx2i_hwi.c
parentb8ce8b59b8d64ee0d864706b9d3cca2a9b314bf5 (diff)
[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 96505e3ab986..603db9d64956 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,
490 bnx2i_cmd = (struct bnx2i_cmd *)task->dd_data; 490 bnx2i_cmd = (struct bnx2i_cmd *)task->dd_data;
491 nopout_hdr = (struct iscsi_nopout *)task->hdr; 491 nopout_hdr = (struct iscsi_nopout *)task->hdr;
492 nopout_wqe = (struct bnx2i_nop_out_request *)ep->qp.sq_prod_qe; 492 nopout_wqe = (struct bnx2i_nop_out_request *)ep->qp.sq_prod_qe;
493
494 memset(nopout_wqe, 0x00, sizeof(struct bnx2i_nop_out_request));
495
493 nopout_wqe->op_code = nopout_hdr->opcode; 496 nopout_wqe->op_code = nopout_hdr->opcode;
494 nopout_wqe->op_attr = ISCSI_FLAG_CMD_FINAL; 497 nopout_wqe->op_attr = ISCSI_FLAG_CMD_FINAL;
495 memcpy(nopout_wqe->lun, nopout_hdr->lun, 8); 498 memcpy(nopout_wqe->lun, nopout_hdr->lun, 8);