[edk2-devel] [PATCH] MdeModulePkg/Bus/Pci/UhciDxe: Fix the UsbHc memory allocate and free issue

张家定 posted 1 patch 1 week, 3 days ago
Failed in applying to current master (apply log)
1 file changed, 4 insertions(+), 4 deletions(-)

[edk2-devel] [PATCH] MdeModulePkg/Bus/Pci/UhciDxe: Fix the UsbHc memory allocate and free issue

Posted by 张家定 1 week, 3 days ago
When use the UsbHcAllocMemFromBlock() and UsbHcFreeMem() to allocate memory and free memory for the UHC, it should use the corresponding host address but not the pci bus address.




Signed-off-by: jdzhang <jdzhang@zd-tech.com.cn>

---

 MdeModulePkg/Bus/Pci/UhciDxe/UsbHcMem.c | 8 ++++----

 1 file changed, 4 insertions(+), 4 deletions(-)




diff --git a/MdeModulePkg/Bus/Pci/UhciDxe/UsbHcMem.c b/MdeModulePkg/Bus/Pci/UhciDxe/UsbHcMem.c

index 9aade19f8e..041638a2de 100644

--- a/MdeModulePkg/Bus/Pci/UhciDxe/UsbHcMem.c

+++ b/MdeModulePkg/Bus/Pci/UhciDxe/UsbHcMem.c

@@ -211,7 +211,7 @@ UsbHcAllocMemFromBlock (

     NEXT_BIT (Byte, Bit);

   }

 

-  return Block->Buf + (StartByte * 8 + StartBit) * USBHC_MEM_UNIT;

+  return Block->BufHost + (StartByte * 8 + StartBit) * USBHC_MEM_UNIT;

 }

 

 /**

@@ -518,12 +518,12 @@ UsbHcFreeMem (

     // scan the memory block list for the memory block that

     // completely contains the memory to free.

     //

-    if ((Block->Buf <= ToFree) && ((ToFree + AllocSize) <= (Block->Buf + Block->BufLen))) {

+    if ((Block->BufHost <= ToFree) && ((ToFree + AllocSize) <= (Block->BufHost + Block->BufLen))) {

       //

       // compute the start byte and bit in the bit array

       //

-      Byte  = ((ToFree - Block->Buf) / USBHC_MEM_UNIT) / 8;

-      Bit   = ((ToFree - Block->Buf) / USBHC_MEM_UNIT) % 8;

+      Byte  = ((ToFree - Block->BufHost) / USBHC_MEM_UNIT) / 8;

+      Bit   = ((ToFree - Block->BufHost) / USBHC_MEM_UNIT) % 8;

 

       //

       // reset associated bits in bit array

-- 

2.30.0.windows.1












-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#84078): https://edk2.groups.io/g/devel/message/84078
Mute This Topic: https://groups.io/mt/87296862/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-