mirror of
https://github.com/acidanthera/audk.git
synced 2025-04-08 17:05:09 +02:00
MdeModulePkg/Xhci: Skip another size round up for TRB address
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4560 Commit f36e1ec1f0a5fd3be84913e09181d7813444b620 had fixed the DXE_ASSERT caused by the TRB size round up from 16 to 64 for most cases. However, there is a remaining case that the TRB size is also rounded up during setting TR dequeue pointer that would trigger DXE_ASSERT. This patch sets the alignment flag to FALSE in XhcSetTrDequeuePointer to fix this issue as well. Cc: Gao Cheng <gao.cheng@intel.com> Cc: Hao A Wu <hao.a.wu@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Dat Mach <dmach@nvidia.com> Reviewed-by: Gao Cheng <gao.cheng@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
This commit is contained in:
parent
35f6a2780e
commit
7f1ffba5de
@ -3539,7 +3539,7 @@ XhcSetTrDequeuePointer (
|
||||
// Send stop endpoint command to transit Endpoint from running to stop state
|
||||
//
|
||||
ZeroMem (&CmdSetTRDeq, sizeof (CmdSetTRDeq));
|
||||
PhyAddr = UsbHcGetPciAddrForHostAddr (Xhc->MemPool, Urb->Ring->RingEnqueue, sizeof (CMD_SET_TR_DEQ_POINTER), TRUE);
|
||||
PhyAddr = UsbHcGetPciAddrForHostAddr (Xhc->MemPool, Urb->Ring->RingEnqueue, sizeof (CMD_SET_TR_DEQ_POINTER), FALSE);
|
||||
CmdSetTRDeq.PtrLo = XHC_LOW_32BIT (PhyAddr) | Urb->Ring->RingPCS;
|
||||
CmdSetTRDeq.PtrHi = XHC_HIGH_32BIT (PhyAddr);
|
||||
CmdSetTRDeq.CycleBit = 1;
|
||||
|
@ -2526,7 +2526,7 @@ XhcPeiSetTrDequeuePointer (
|
||||
// Send stop endpoint command to transit Endpoint from running to stop state
|
||||
//
|
||||
ZeroMem (&CmdSetTRDeq, sizeof (CmdSetTRDeq));
|
||||
PhyAddr = UsbHcGetPciAddrForHostAddr (Xhc->MemPool, Urb->Ring->RingEnqueue, sizeof (CMD_SET_TR_DEQ_POINTER), TRUE);
|
||||
PhyAddr = UsbHcGetPciAddrForHostAddr (Xhc->MemPool, Urb->Ring->RingEnqueue, sizeof (CMD_SET_TR_DEQ_POINTER), FALSE);
|
||||
CmdSetTRDeq.PtrLo = XHC_LOW_32BIT (PhyAddr) | Urb->Ring->RingPCS;
|
||||
CmdSetTRDeq.PtrHi = XHC_HIGH_32BIT (PhyAddr);
|
||||
CmdSetTRDeq.CycleBit = 1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user