On Wed, 2012-09-19 at 00:43 -0500, Saurav Kashyap wrote: > > >From: Roland Dreier <roland@xxxxxxxxxxxxxxx> > > > >The qla2xxx firmware actually expects the task management response > >code in a CTIO IOCB with SCSI status mode 1 to be in little-endian > >byte order, ie the response code should be the first byte in the > >sense_data[] array. The old code erroneously byte-swapped the > >response code, which puts it in the wrong place on the wire and leads > >to initiators thinking every task management request succeeds (since > >they see 0 in the byte where they look for the response code). > > > >Cc: Chad Dupuis <chad.dupuis@xxxxxxxxxx> > >Cc: Arun Easi <arun.easi@xxxxxxxxxx> > >Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> > >--- > > drivers/scsi/qla2xxx/qla_target.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > >diff --git a/drivers/scsi/qla2xxx/qla_target.c > >b/drivers/scsi/qla2xxx/qla_target.c > >index 5b30132..41b74ba 100644 > >--- a/drivers/scsi/qla2xxx/qla_target.c > >+++ b/drivers/scsi/qla2xxx/qla_target.c > >@@ -1403,7 +1403,7 @@ static void qlt_24xx_send_task_mgmt_ctio(struct > >scsi_qla_host *ha, > > ctio->u.status1.scsi_status = > > __constant_cpu_to_le16(SS_RESPONSE_INFO_LEN_VALID); > > ctio->u.status1.response_len = __constant_cpu_to_le16(8); > >- ((uint32_t *)ctio->u.status1.sense_data)[0] = cpu_to_be32(resp_code); > >+ ctio->u.status1.sense_data[0] = resp_code; > > > > qla2x00_start_iocbs(ha, ha->req); > > } > >-- > >1.7.10.4 > > Acked-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> > Applied to target-pending/for-next with CC' to stable Thanks Roland & Co! -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html