mirror of https://github.com/acidanthera/audk.git
MdeModulePkg/Usb: Fix wrong condition judgment to support usb3.1 dev
The bcdUSB value of usb3.1 is 0x0310, we update the condition judgment to get correct max packet size for usb3.1 dev. Cc: Star Zeng <star.zeng@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Feng Tian <feng.tian@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
This commit is contained in:
parent
18b50d66d3
commit
b9953b6506
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
The XHCI controller driver.
|
||||
|
||||
Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -955,7 +955,7 @@ XhcControlTransfer (
|
|||
// Store a copy of device scriptor as hub device need this info to configure endpoint.
|
||||
//
|
||||
CopyMem (&Xhc->UsbDevContext[SlotId].DevDesc, Data, *DataLength);
|
||||
if (Xhc->UsbDevContext[SlotId].DevDesc.BcdUSB == 0x0300) {
|
||||
if (Xhc->UsbDevContext[SlotId].DevDesc.BcdUSB >= 0x0300) {
|
||||
//
|
||||
// If it's a usb3.0 device, then its max packet size is a 2^n.
|
||||
//
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
PEIM to produce gPeiUsb2HostControllerPpiGuid based on gPeiUsbControllerPpiGuid
|
||||
which is used to enable recovery function from USB Drivers.
|
||||
|
||||
Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
|
@ -687,7 +687,7 @@ XhcPeiControlTransfer (
|
|||
// Store a copy of device scriptor as hub device need this info to configure endpoint.
|
||||
//
|
||||
CopyMem (&Xhc->UsbDevContext[SlotId].DevDesc, Data, *DataLength);
|
||||
if (Xhc->UsbDevContext[SlotId].DevDesc.BcdUSB == 0x0300) {
|
||||
if (Xhc->UsbDevContext[SlotId].DevDesc.BcdUSB >= 0x0300) {
|
||||
//
|
||||
// If it's a usb3.0 device, then its max packet size is a 2^n.
|
||||
//
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
Manage Usb Descriptor List
|
||||
|
||||
Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -539,7 +539,7 @@ UsbGetMaxPacketSize0 (
|
|||
Status = UsbCtrlGetDesc (UsbDev, USB_DESC_TYPE_DEVICE, 0, 0, &DevDesc, 8);
|
||||
|
||||
if (!EFI_ERROR (Status)) {
|
||||
if ((DevDesc.BcdUSB == 0x0300) && (DevDesc.MaxPacketSize0 == 9)) {
|
||||
if ((DevDesc.BcdUSB >= 0x0300) && (DevDesc.MaxPacketSize0 == 9)) {
|
||||
UsbDev->MaxPacket0 = 1 << 9;
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
The module to produce Usb Bus PPI.
|
||||
|
||||
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
|
@ -702,7 +702,7 @@ PeiConfigureUsbDevice (
|
|||
return Status;
|
||||
}
|
||||
|
||||
if ((DeviceDescriptor.BcdUSB == 0x0300) && (DeviceDescriptor.MaxPacketSize0 == 9)) {
|
||||
if ((DeviceDescriptor.BcdUSB >= 0x0300) && (DeviceDescriptor.MaxPacketSize0 == 9)) {
|
||||
PeiUsbDevice->MaxPacketSize0 = 1 << 9;
|
||||
} else {
|
||||
PeiUsbDevice->MaxPacketSize0 = DeviceDescriptor.MaxPacketSize0;
|
||||
|
|
Loading…
Reference in New Issue