diff options
author | Andrey Smirnov <andrew.smirnov@gmail.com> | 2019-03-07 00:00:31 -0800 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-03-11 08:11:18 +0100 |
commit | 3a6cefb53b53af0ce6d4d674c2dea8b82342b204 (patch) | |
tree | bfc06022539b6efa5ce7909c603c24922f9c4405 | |
parent | 9bb76f450fb773d87c6fef1cab4549046093f3dd (diff) | |
download | barebox-3a6cefb53b53af0ce6d4d674c2dea8b82342b204.tar.gz barebox-3a6cefb53b53af0ce6d4d674c2dea8b82342b204.tar.xz |
usb: storage: Drop unnecessary check in usb_stor_blk_io()
Checking that sector_count is zero, shouldn't be necessary since block
layer won't call this function if there's no data to be read. Drop it.
Checking that blockbits is eqal to SECTOR_SHIFT isn't necessary, since
that field is filled by the driver and is not changed outsied of
it. We know it is going to be SECTOR_SHIFT. Drop it.
Checking sector_start > (ulong)-1 doesn't make sense at all since
sector start is 'int' and it can't possibly be greater that
ULONG_MAX. Drop it.
Checking for sector_start >= pblk_dev->blk.num_blocks isn't necessary
either, since we shouldn't receive request for invalid read from block
layer. Drop it.
Ditto for sector_count > INT_MAX and sector_start + sector_count >
pblk_dev->blk.num_blocks.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | drivers/usb/storage/usb.c | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c index b86e72a6fa..29e3792aae 100644 --- a/drivers/usb/storage/usb.c +++ b/drivers/usb/storage/usb.c @@ -216,23 +216,6 @@ static int usb_stor_blk_io(int io_op, struct block_device *disk_dev, struct device_d *dev = &us->pusb_dev->dev; unsigned sectors_done; - if (sector_count == 0) - return 0; - - /* check for unsupported block size */ - if (pblk_dev->blk.blockbits != SECTOR_SHIFT) { - dev_dbg(dev, "%s: unsupported block shift %d\n", - __func__, pblk_dev->blk.blockbits); - return -EINVAL; - } - - /* check for invalid sector_start */ - if (sector_start >= pblk_dev->blk.num_blocks || sector_start > (ulong)-1) { - dev_dbg(dev, "%s: start sector %d too large\n", - __func__, sector_start); - return -EINVAL; - } - /* ensure unit ready */ dev_dbg(dev, "Testing for unit ready\n"); if (usb_stor_test_unit_ready(pblk_dev)) { @@ -240,16 +223,6 @@ static int usb_stor_blk_io(int io_op, struct block_device *disk_dev, return -EIO; } - /* possibly limit the amount of I/O data */ - if (sector_count > INT_MAX) { - sector_count = INT_MAX; - dev_dbg(dev, "Restricting I/O to %u blocks\n", sector_count); - } - if (sector_start + sector_count > pblk_dev->blk.num_blocks) { - sector_count = pblk_dev->blk.num_blocks - sector_start; - dev_dbg(dev, "Restricting I/O to %u blocks\n", sector_count); - } - /* read / write the requested data */ dev_dbg(dev, "%s %u block(s), starting from %d\n", (io_op == io_rd) ? "Read" : "Write", |