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
This commit is contained in:
klu2 2007-01-11 07:06:00 +00:00
parent 0e7bfce8d0
commit 38a7027076
1 changed files with 4 additions and 2 deletions

View File

@ -2997,6 +2997,7 @@ Returns:
UINT32 TransferResult; UINT32 TransferResult;
UINT8 *ReceiveBuffer; UINT8 *ReceiveBuffer;
UINT8 *ProcessBuffer; UINT8 *ProcessBuffer;
EHCI_ASYNC_REQUEST *NextPtr;
Status = EFI_SUCCESS; Status = EFI_SUCCESS;
QtdHwPtr = NULL; QtdHwPtr = NULL;
@ -3042,6 +3043,8 @@ Returns:
UpdateAsyncRequestTransfer (AsyncRequestPtr, TransferResult, ErrQtdPos); UpdateAsyncRequestTransfer (AsyncRequestPtr, TransferResult, ErrQtdPos);
NextPtr = AsyncRequestPtr->Next;
if (EFI_USB_NOERROR == TransferResult) { if (EFI_USB_NOERROR == TransferResult) {
if (AsyncRequestPtr->CallBackFunc != NULL) { if (AsyncRequestPtr->CallBackFunc != NULL) {
@ -3069,8 +3072,7 @@ Returns:
gBS->FreePool (ProcessBuffer); gBS->FreePool (ProcessBuffer);
} }
AsyncRequestPtr = AsyncRequestPtr->Next; AsyncRequestPtr = NextPtr;
} }
exit: exit: