From 38a7027076edc33e6edc203ede39016982e005fb Mon Sep 17 00:00:00 2001 From: klu2 Date: Thu, 11 Jan 2007 07:06:00 +0000 Subject: AsyncRequestPtr maybe NULL after its callback function is invoke. So Caching it temporary. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2217 6f19259b-4bc3-4df7-8a09-765794883524 --- EdkModulePkg/Bus/Pci/Ehci/Dxe/EhciSched.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'EdkModulePkg/Bus') diff --git a/EdkModulePkg/Bus/Pci/Ehci/Dxe/EhciSched.c b/EdkModulePkg/Bus/Pci/Ehci/Dxe/EhciSched.c index 1226d56..1a94705 100644 --- a/EdkModulePkg/Bus/Pci/Ehci/Dxe/EhciSched.c +++ b/EdkModulePkg/Bus/Pci/Ehci/Dxe/EhciSched.c @@ -2997,6 +2997,7 @@ Returns: UINT32 TransferResult; UINT8 *ReceiveBuffer; UINT8 *ProcessBuffer; + EHCI_ASYNC_REQUEST *NextPtr; Status = EFI_SUCCESS; QtdHwPtr = NULL; @@ -3042,6 +3043,8 @@ Returns: UpdateAsyncRequestTransfer (AsyncRequestPtr, TransferResult, ErrQtdPos); + NextPtr = AsyncRequestPtr->Next; + if (EFI_USB_NOERROR == TransferResult) { if (AsyncRequestPtr->CallBackFunc != NULL) { @@ -3069,8 +3072,7 @@ Returns: gBS->FreePool (ProcessBuffer); } - AsyncRequestPtr = AsyncRequestPtr->Next; - + AsyncRequestPtr = NextPtr; } exit: -- cgit v1.1