diff options
author | Dan Williams <dan.j.williams@intel.com> | 2012-06-22 17:52:34 (GMT) |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-07-08 08:49:14 (GMT) |
commit | 6ef1b512f4e6f936d89aa20be3d97a7ec7c290ac (patch) | |
tree | de2a0d0a74d2f0cdab456766fa77c5ec60487771 /drivers/scsi/bnx2i/bnx2i_iscsi.c | |
parent | 222a806af830fda34ad1f6bc991cd226916de060 (diff) | |
download | linux-6ef1b512f4e6f936d89aa20be3d97a7ec7c290ac.tar.xz |
[SCSI] libsas: fix taskfile corruption in sas_ata_qc_fill_rtf
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.
Cc: <stable@vger.kernel.org>
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>
Diffstat (limited to 'drivers/scsi/bnx2i/bnx2i_iscsi.c')
0 files changed, 0 insertions, 0 deletions