diff options
author | Saurav Kashyap <saurav.kashyap@qlogic.com> | 2013-07-12 14:47:51 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-08-04 04:50:41 -0400 |
commit | 25ef812609dbc1a3db74f0f5912c94afdfd65d31 (patch) | |
tree | 8cbd87b533f8aa5b91cf26384a752a481f0bee69 | |
parent | 8cf7b0b08a0bccbf3a72487b3b85ac233e83947f (diff) |
SCSI: qla2xxx: Properly set the tagging for commands.
commit c3ccb1d7cf4c4549151876dd37c0944a682fd9e1 upstream.
This fixes a regression where Xyratex controllers and disks were lost by the
driver:
https://bugzilla.kernel.org/show_bug.cgi?id=59601
Reported-by: Jack Hill <jackhill@jackhill.us>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/scsi/qla2xxx/qla_iocb.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/scsi/qla2xxx/qla_iocb.c b/drivers/scsi/qla2xxx/qla_iocb.c index 15e4080b347c..51cd27a50309 100644 --- a/drivers/scsi/qla2xxx/qla_iocb.c +++ b/drivers/scsi/qla2xxx/qla_iocb.c | |||
@@ -419,6 +419,8 @@ qla2x00_start_scsi(srb_t *sp) | |||
419 | __constant_cpu_to_le16(CF_SIMPLE_TAG); | 419 | __constant_cpu_to_le16(CF_SIMPLE_TAG); |
420 | break; | 420 | break; |
421 | } | 421 | } |
422 | } else { | ||
423 | cmd_pkt->control_flags = __constant_cpu_to_le16(CF_SIMPLE_TAG); | ||
422 | } | 424 | } |
423 | 425 | ||
424 | /* Load SCSI command packet. */ | 426 | /* Load SCSI command packet. */ |
@@ -1308,11 +1310,11 @@ qla24xx_build_scsi_crc_2_iocbs(srb_t *sp, struct cmd_type_crc_2 *cmd_pkt, | |||
1308 | fcp_cmnd->task_attribute = TSK_ORDERED; | 1310 | fcp_cmnd->task_attribute = TSK_ORDERED; |
1309 | break; | 1311 | break; |
1310 | default: | 1312 | default: |
1311 | fcp_cmnd->task_attribute = 0; | 1313 | fcp_cmnd->task_attribute = TSK_SIMPLE; |
1312 | break; | 1314 | break; |
1313 | } | 1315 | } |
1314 | } else { | 1316 | } else { |
1315 | fcp_cmnd->task_attribute = 0; | 1317 | fcp_cmnd->task_attribute = TSK_SIMPLE; |
1316 | } | 1318 | } |
1317 | 1319 | ||
1318 | cmd_pkt->fcp_rsp_dseg_len = 0; /* Let response come in status iocb */ | 1320 | cmd_pkt->fcp_rsp_dseg_len = 0; /* Let response come in status iocb */ |
@@ -1527,7 +1529,12 @@ qla24xx_start_scsi(srb_t *sp) | |||
1527 | case ORDERED_QUEUE_TAG: | 1529 | case ORDERED_QUEUE_TAG: |
1528 | cmd_pkt->task = TSK_ORDERED; | 1530 | cmd_pkt->task = TSK_ORDERED; |
1529 | break; | 1531 | break; |
1532 | default: | ||
1533 | cmd_pkt->task = TSK_SIMPLE; | ||
1534 | break; | ||
1530 | } | 1535 | } |
1536 | } else { | ||
1537 | cmd_pkt->task = TSK_SIMPLE; | ||
1531 | } | 1538 | } |
1532 | 1539 | ||
1533 | /* Load SCSI command packet. */ | 1540 | /* Load SCSI command packet. */ |