mirror of https://github.com/acidanthera/audk.git
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:
parent
0e7bfce8d0
commit
38a7027076
|
@ -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:
|
||||||
|
|
Loading…
Reference in New Issue