aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSaurav Kashyap <saurav.kashyap@qlogic.com>2013-07-12 14:47:51 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-08-04 04:50:41 -0400
commit25ef812609dbc1a3db74f0f5912c94afdfd65d31 (patch)
tree8cbd87b533f8aa5b91cf26384a752a481f0bee69
parent8cf7b0b08a0bccbf3a72487b3b85ac233e83947f (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.c11
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. */