diff options
| author | Paul Grimes <Paul.Grimes@amd.com> | 2026-01-28 21:31:06 +0300 |
|---|---|---|
| committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2026-01-30 10:02:52 +0300 |
| commit | 1a261da766ef14f6dea157d4a5362e84a755023f (patch) | |
| tree | 700d11da6ffdcc4cc93801409c3cedb6867ba24b /BaseTools/Source/Python/Workspace/MetaFileParser.py | |
| parent | f6489621b8ae1164c5e4930902988ba7c86847ba (diff) | |
| download | edk2-1a261da766ef14f6dea157d4a5362e84a755023f.tar.xz | |
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 <gaoliming@byosoft.com.cn>
Cc: Jacek Kolakowski <jacek.kolakowski@intel.com>
Signed-off-by: Paul Grimes <Paul.Grimes@amd.com>
Diffstat (limited to 'BaseTools/Source/Python/Workspace/MetaFileParser.py')
0 files changed, 0 insertions, 0 deletions
