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

Reply via email to