[SCSI] fix sign extension with 1.5TB usb-storage LBD=y
Shifting an unsigned char implicitly casts it to a signed int. This caused 'lba' to sign-extend and Linux would then try READ CAPACITY 16 which was not supported by at least one drive. Using the get_unaligned_be*() helpers keeps us from having to worry about how the extension might occur. Signed-off-by:Dave Hansen <dave@linux.vnet.ibm.com> Reviewed-by:
Matthew Wilcox <willy@linux.intel.com> Signed-off-by:
James Bottomley <James.Bottomley@HansenPartnership.com>
Loading
Please register or sign in to comment