diff options
| author | Samuel Holland <[email protected]> | 2021-04-27 18:59:15 -0500 |
|---|---|---|
| committer | Martin K. Petersen <[email protected]> | 2021-05-15 18:01:34 -0400 |
| commit | 05f7f1b9ee8273eab805da3d5e2d064872aa75b1 (patch) | |
| tree | 10e035dceb00bbbf649dfa00204df4619503feaf /tools/perf/scripts/python | |
| parent | d133b441488d30b0ee1848238a1f6e8da643e19c (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/[email protected]
Signed-off-by: Samuel Holland <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions