summaryrefslogtreecommitdiff
path: root/drivers/scsi/ufs
diff options
context:
space:
mode:
authorSamuel Holland <samuel@sholland.org>2021-04-27 18:59:15 -0500
committerMartin K. Petersen <martin.petersen@oracle.com>2021-05-15 18:01:34 -0400
commit05f7f1b9ee8273eab805da3d5e2d064872aa75b1 (patch)
tree10e035dceb00bbbf649dfa00204df4619503feaf /drivers/scsi/ufs
parentd133b441488d30b0ee1848238a1f6e8da643e19c (diff)
scsi: 3w-9xxx: Fix endianness issues in command packets
The controller expects all data it sends/receives to be little-endian. Therefore, the packet struct definitions should use the __le16/32/64 types. Once those are correct, sparse reports several issues with the driver code, which are fixed here as well. The main issue observed was at the call to scsi_set_resid(), where the byteswapped parameter would eventually trigger the alignment check at drivers/scsi/sd.c:2009. At that point, the kernel would continuously complain about an "Unaligned partial completion", and no further I/O could occur. This gets the controller working on big endian powerpc64. Link: https://lore.kernel.org/r/20210427235915.39211-4-samuel@sholland.org Signed-off-by: Samuel Holland <samuel@sholland.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/ufs')
0 files changed, 0 insertions, 0 deletions