Branch: refs/heads/master
Home: https://github.com/tianocore/edk2
Commit: 1a261da766ef14f6dea157d4a5362e84a755023f
https://github.com/tianocore/edk2/commit/1a261da766ef14f6dea157d4a5362e84a755023f
Author: Paul Grimes <[email protected]>
Date: 2026-01-30 (Fri, 30 Jan 2026)
Changed paths:
M MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassImpl.c
Log Message:
-----------
MdeModulePkg/UsbMassStorageDxe: Add retry mechanism to UsbMassReadBlocks
Add a retry mechanism to UsbMassReadBlocks() to improve robustness
when reading from USB mass storage devices. Some USB devices may
experience transient failures during read operations that can be
recovered by resetting the device and retrying.
The implementation:
- Saves original buffer parameters (Buffer, Lba, BufferSize)
- Attempts the read operation up to 4 times (initial + 3 retries)
- Resets the device via UsbMassReset() before each retry
- Restores buffer parameters before each retry attempt
This change is compliant with USB Mass Storage Class Bulk-Only
Transport Spec Rev 1.0:
- Section 5.3.4: Defines Reset Recovery procedure
- Section 3.1: States device is ready for next CBW after reset
Cc: Liming Gao <[email protected]>
Cc: Jacek Kolakowski <[email protected]>
Signed-off-by: Paul Grimes <[email protected]>
To unsubscribe from these emails, change your notification settings at
https://github.com/tianocore/edk2/settings/notifications
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits