]> www.infradead.org Git - users/jedix/linux-maple.git/commit
scsi: sd: Optimal I/O size should be a multiple of physical block size
authorMartin K. Petersen <martin.petersen@oracle.com>
Tue, 12 Feb 2019 21:21:05 +0000 (16:21 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 23 Mar 2019 13:35:20 +0000 (14:35 +0100)
commit910da5aafac4a1d0da7495935fb325eaf9cade56
treee63f4445e2288f828ac25d34d1c6a107ed22d0ec
parent02a29f3c1ff08a77432fac2bf581faeeada12589
scsi: sd: Optimal I/O size should be a multiple of physical block size

commit a83da8a4509d3ebfe03bb7fffce022e4d5d4764f upstream.

It was reported that some devices report an OPTIMAL TRANSFER LENGTH of
0xFFFF blocks. That looks bogus, especially for a device with a
4096-byte physical block size.

Ignore OPTIMAL TRANSFER LENGTH if it is not a multiple of the device's
reported physical block size.

To make the sanity checking conditionals more readable--and to
facilitate printing warnings--relocate the checking to a helper
function. No functional change aside from the printks.

Cc: <stable@vger.kernel.org>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=199759
Reported-by: Christoph Anton Mitterer <calestyo@scientia.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/scsi/sd.c