summaryrefslogtreecommitdiff
path: root/components/drivers
diff options
context:
space:
mode:
authorhphuang <[email protected]>2020-04-28 19:07:08 +0800
committerhphuang <[email protected]>2020-04-28 19:07:08 +0800
commit9d374f873cc9d3f0ee1af5f463fcaeee75d5f6e8 (patch)
tree4dacd0527d2466ec7296e570cef4299e4fcacf2b /components/drivers
parentbaa3145bfe61b3330b6a160523cc5470fa5db3a7 (diff)
mstorage.c: fix the issue that _read_capacity() returns the wrong last valid address of storage medium
Diffstat (limited to 'components/drivers')
-rw-r--r--components/drivers/usb/usbdevice/class/mstorage.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/components/drivers/usb/usbdevice/class/mstorage.c b/components/drivers/usb/usbdevice/class/mstorage.c
index 43fb25afe4..a681b8212f 100644
--- a/components/drivers/usb/usbdevice/class/mstorage.c
+++ b/components/drivers/usb/usbdevice/class/mstorage.c
@@ -426,7 +426,7 @@ static rt_size_t _read_capacity(ufunction_t func, ustorage_cbw_t cbw)
data = (struct mstorage*)func->user_data;
buf = data->ep_in->buffer;
- sector_count = data->geometry.sector_count;
+ sector_count = data->geometry.sector_count - 1; /* Last Logical Block Address */
sector_size = data->geometry.bytes_per_sector;
buf[0] = sector_count >> 24;