diff options
author | Dave Hansen <dave@linux.vnet.ibm.com> | 2009-04-21 16:43:27 -0700 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2009-04-27 10:36:07 -0500 |
commit | 8f76d151b010980d137bfdc736d1d8f64b489165 (patch) | |
tree | b8e1f221b37f091eea027032d81a2ac2aea33ab9 /drivers/scsi/megaraid.c | |
parent | dd406ef8950e76b17d74c5764a1e3d3a87d4a855 (diff) | |
download | linux-8f76d151b010980d137bfdc736d1d8f64b489165.tar.bz2 |
[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>
Diffstat (limited to 'drivers/scsi/megaraid.c')
0 files changed, 0 insertions, 0 deletions