On 19/03/2017 17:21, Martin K. Petersen wrote:
John Garry <john.ga...@huawei.com> writes:
The total ata xfer length may not be calculated properly,
in that we do not use the proper method to get an sg element
According to the code comment, sg_dma_len() should be used
after dma_map_sg() is called.
This issue was found by turning on the SMMUv3 in front of
the hisi_sas controller in hip07. Multiple sg elements
were being combined into a single element, but the original
first element length was being use as the total xfer length.
I should have added this originally to the changelog:
Fixes: ff2aeb1eb64c8a4770a6 ("libata: convert to chained sg")
BTW, I am surprised this issue has not been seen in almost 10 years, but
we cannot attach a SATA disk when SMMU enabled without it.
Applied to 4.11/scsi-fixes.