summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Bus/Usb
diff options
context:
space:
mode:
authorRuiyu Ni <ruiyu.ni@intel.com>2018-10-23 10:26:01 +0800
committerRuiyu Ni <ruiyu.ni@intel.com>2018-10-24 12:00:19 +0800
commita58a421c3629e5f28b4a6887c28da4ee6976cd61 (patch)
tree1a783a7ea48a116df63d3f35b8fff4a7a85af89d /MdeModulePkg/Bus/Usb
parent90c64aada8a14dca551aa48bc5a5763a39933525 (diff)
downloadedk2-a58a421c3629e5f28b4a6887c28da4ee6976cd61.tar.gz
edk2-a58a421c3629e5f28b4a6887c28da4ee6976cd61.tar.bz2
edk2-a58a421c3629e5f28b4a6887c28da4ee6976cd61.zip
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 <ruiyu.ni@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
Diffstat (limited to 'MdeModulePkg/Bus/Usb')
-rw-r--r--MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassBoot.c4
1 files 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