Reviewed-by: Star Zeng <[email protected]>

-----Original Message-----
From: edk2-devel [mailto:[email protected]] On Behalf Of Ruiyu Ni
Sent: Tuesday, October 23, 2018 10:27 AM
To: [email protected]
Cc: Zeng, Star <[email protected]>
Subject: [edk2] [PATCH] MdeModulePkg/UsbMass: Fix USB key write failure

Commit e59db6a732dbbb064b1e39a288a25edc90adac5d
* MdeModulePkg/UsbMass: Merge UsbBoot(Read|Write)Blocks(16) introduces a bug 
that causes writing to USB key always fails.

When that patch is verified, only reading was verified.

The root cause is when the writing operation is performed, the data direction 
EfiUsbDataIn is wrongly used. Instead, it should be EfiUsbDataOut.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ruiyu Ni <[email protected]>
Cc: Star Zeng <[email protected]>
---
 MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassBoot.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassBoot.c 
b/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassBoot.c
index c35c7bdc12..69e2252134 100644
--- a/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassBoot.c
+++ b/MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassBoot.c
@@ -861,7 +861,7 @@ UsbBootReadWriteBlocks (
                UsbMass,
                &Cmd,
                (UINT8) sizeof (USB_BOOT_READ_WRITE_10_CMD),
-               EfiUsbDataIn,
+               Write ? EfiUsbDataOut : EfiUsbDataIn,
                Buffer,
                ByteSize,
                Timeout
@@ -941,7 +941,7 @@ UsbBootReadWriteBlocks16 (
                UsbMass,
                Cmd,
                (UINT8) sizeof (Cmd),
-               EfiUsbDataIn,
+               Write ? EfiUsbDataOut : EfiUsbDataIn,
                Buffer,
                ByteSize,
                Timeout
--
2.16.1.windows.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to