summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla4xxx/ql4_iocb.c
diff options
context:
space:
mode:
authorManish Rangankar <manish.rangankar@qlogic.com>2011-10-07 16:55:50 -0700
committerJames Bottomley <JBottomley@Parallels.com>2011-10-16 11:11:22 -0500
commit69ca216e9bbbe2baf7f441ab57c5d791f439f775 (patch)
treea6bda8a56d9f5beeb5a382b9f2b878092ad19f6b /drivers/scsi/qla4xxx/ql4_iocb.c
parentf922da79fd602dddb169f89471e3266cc692750a (diff)
downloadlinux-stable-69ca216e9bbbe2baf7f441ab57c5d791f439f775.tar.gz
linux-stable-69ca216e9bbbe2baf7f441ab57c5d791f439f775.tar.bz2
linux-stable-69ca216e9bbbe2baf7f441ab57c5d791f439f775.zip
[SCSI] qla4xxx: Fixed target discovery failed issue.
When sendtargets response is greater then max receive data segment length, the passthrough IOCB failed with data overrun status. Solution is to allocate space for iSCSI header in the IOCB response buffer. JIRA Key: UPSISCSI-147 Signed-off-by: Manish Rangankar <manish.rangankar@qlogic.com> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_iocb.c')
-rw-r--r--drivers/scsi/qla4xxx/ql4_iocb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_iocb.c b/drivers/scsi/qla4xxx/ql4_iocb.c
index ad40a613bcf1..410669351906 100644
--- a/drivers/scsi/qla4xxx/ql4_iocb.c
+++ b/drivers/scsi/qla4xxx/ql4_iocb.c
@@ -407,7 +407,7 @@ int qla4xxx_send_passthru0(struct iscsi_task *task)
passthru_iocb->timeout = cpu_to_le16(PT_DEFAULT_TIMEOUT);
/* Setup the out & in DSDs */
- if (task->data_count) {
+ if (task_data->req_len) {
memcpy((uint8_t *)task_data->req_buffer +
sizeof(struct iscsi_hdr), task->data, task->data_count);
ctrl_flags |= PT_FLAG_SEND_BUFFER;