summaryrefslogtreecommitdiff
path: root/drivers/scsi/NCR_Q720.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2012-06-22 10:52:34 -0700
committerBen Hutchings <ben@decadent.org.uk>2012-07-25 04:11:12 +0100
commitcb480c94c8e89014cdb54201a413bf9d36f6cd41 (patch)
tree53b08d4b2a74135d723a5be54409a0541855b44c /drivers/scsi/NCR_Q720.c
parent1e1cdddbadc5f3044882127f3931a19f48b1a69b (diff)
downloadlwn-cb480c94c8e89014cdb54201a413bf9d36f6cd41.tar.gz
lwn-cb480c94c8e89014cdb54201a413bf9d36f6cd41.zip
libsas: fix taskfile corruption in sas_ata_qc_fill_rtf
commit 6ef1b512f4e6f936d89aa20be3d97a7ec7c290ac upstream. fill_result_tf() grabs the taskfile flags from the originating qc which sas_ata_qc_fill_rtf() promptly overwrites. The presence of an ata_taskfile in the sata_device makes it tempting to just copy the full contents in sas_ata_qc_fill_rtf(). However, libata really only wants the fis contents and expects the other portions of the taskfile to not be touched by ->qc_fill_rtf. To that end store a fis buffer in the sata_device and use ata_tf_from_fis() like every other ->qc_fill_rtf() implementation. Reported-by: Praveen Murali <pmurali@logicube.com> Tested-by: Praveen Murali <pmurali@logicube.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com> [bwh: Backported to 3.2: adjust context] Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'drivers/scsi/NCR_Q720.c')
0 files changed, 0 insertions, 0 deletions