From: Dan Williams Date: Fri, 22 Jun 2012 17:52:34 +0000 (-0700) Subject: [SCSI] libsas: fix taskfile corruption in sas_ata_qc_fill_rtf X-Git-Tag: v3.5-rc7~25^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6ef1b512f4e6f936d89aa20be3d97a7ec7c290ac;p=pandora-kernel.git [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: Reported-by: Praveen Murali Tested-by: Praveen Murali Signed-off-by: Dan Williams Signed-off-by: James Bottomley --- Reading git-diff-tree failed