}\r
\r
RwSingleBlkReq->Signature = SD_REQUEST_SIGNATURE;\r
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
InsertTailList (&Device->Queue, &RwSingleBlkReq->Link);\r
gBS->RestoreTPL (OldTpl);\r
RwSingleBlkReq->Packet.SdMmcCmdBlk = &RwSingleBlkReq->SdMmcCmdBlk;\r
if ((Token != NULL) && (Token->Event != NULL)) {\r
Status = gBS->CreateEvent (\r
EVT_NOTIFY_SIGNAL,\r
- TPL_CALLBACK,\r
+ TPL_NOTIFY,\r
AsyncIoCallback,\r
RwSingleBlkReq,\r
&RwSingleBlkReq->Event\r
// The request and event will be freed in asynchronous callback for success case.\r
//\r
if (EFI_ERROR (Status) && (RwSingleBlkReq != NULL)) {\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
RemoveEntryList (&RwSingleBlkReq->Link);\r
+ gBS->RestoreTPL (OldTpl);\r
if (RwSingleBlkReq->Event != NULL) {\r
gBS->CloseEvent (RwSingleBlkReq->Event);\r
}\r
// For synchronous operation, free request whatever the execution result is.\r
//\r
if (RwSingleBlkReq != NULL) {\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
RemoveEntryList (&RwSingleBlkReq->Link);\r
+ gBS->RestoreTPL (OldTpl);\r
FreePool (RwSingleBlkReq);\r
}\r
}\r
}\r
\r
RwMultiBlkReq->Signature = SD_REQUEST_SIGNATURE;\r
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
InsertTailList (&Device->Queue, &RwMultiBlkReq->Link);\r
gBS->RestoreTPL (OldTpl);\r
RwMultiBlkReq->Packet.SdMmcCmdBlk = &RwMultiBlkReq->SdMmcCmdBlk;\r
if ((Token != NULL) && (Token->Event != NULL)) {\r
Status = gBS->CreateEvent (\r
EVT_NOTIFY_SIGNAL,\r
- TPL_CALLBACK,\r
+ TPL_NOTIFY,\r
AsyncIoCallback,\r
RwMultiBlkReq,\r
&RwMultiBlkReq->Event\r
// The request and event will be freed in asynchronous callback for success case.\r
//\r
if (EFI_ERROR (Status) && (RwMultiBlkReq != NULL)) {\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
RemoveEntryList (&RwMultiBlkReq->Link);\r
+ gBS->RestoreTPL (OldTpl);\r
if (RwMultiBlkReq->Event != NULL) {\r
gBS->CloseEvent (RwMultiBlkReq->Event);\r
}\r
// For synchronous operation, free request whatever the execution result is.\r
//\r
if (RwMultiBlkReq != NULL) {\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
RemoveEntryList (&RwMultiBlkReq->Link);\r
+ gBS->RestoreTPL (OldTpl);\r
FreePool (RwMultiBlkReq);\r
}\r
}\r
\r
Device = SD_DEVICE_DATA_FROM_BLKIO2 (This);\r
\r
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
for (Link = GetFirstNode (&Device->Queue);\r
!IsNull (&Device->Queue, Link);\r
Link = NextLink) {\r
}\r
\r
EraseBlockStart->Signature = SD_REQUEST_SIGNATURE;\r
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
InsertTailList (&Device->Queue, &EraseBlockStart->Link);\r
gBS->RestoreTPL (OldTpl);\r
EraseBlockStart->Packet.SdMmcCmdBlk = &EraseBlockStart->SdMmcCmdBlk;\r
if ((Token != NULL) && (Token->Event != NULL)) {\r
Status = gBS->CreateEvent (\r
EVT_NOTIFY_SIGNAL,\r
- TPL_CALLBACK,\r
+ TPL_NOTIFY,\r
AsyncIoCallback,\r
EraseBlockStart,\r
&EraseBlockStart->Event\r
// The request and event will be freed in asynchronous callback for success case.\r
//\r
if (EFI_ERROR (Status) && (EraseBlockStart != NULL)) {\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
RemoveEntryList (&EraseBlockStart->Link);\r
+ gBS->RestoreTPL (OldTpl);\r
if (EraseBlockStart->Event != NULL) {\r
gBS->CloseEvent (EraseBlockStart->Event);\r
}\r
// For synchronous operation, free request whatever the execution result is.\r
//\r
if (EraseBlockStart != NULL) {\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
RemoveEntryList (&EraseBlockStart->Link);\r
+ gBS->RestoreTPL (OldTpl);\r
FreePool (EraseBlockStart);\r
}\r
}\r
}\r
\r
EraseBlockEnd->Signature = SD_REQUEST_SIGNATURE;\r
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
InsertTailList (&Device->Queue, &EraseBlockEnd->Link);\r
gBS->RestoreTPL (OldTpl);\r
EraseBlockEnd->Packet.SdMmcCmdBlk = &EraseBlockEnd->SdMmcCmdBlk;\r
if ((Token != NULL) && (Token->Event != NULL)) {\r
Status = gBS->CreateEvent (\r
EVT_NOTIFY_SIGNAL,\r
- TPL_CALLBACK,\r
+ TPL_NOTIFY,\r
AsyncIoCallback,\r
EraseBlockEnd,\r
&EraseBlockEnd->Event\r
// The request and event will be freed in asynchronous callback for success case.\r
//\r
if (EFI_ERROR (Status) && (EraseBlockEnd != NULL)) {\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
RemoveEntryList (&EraseBlockEnd->Link);\r
+ gBS->RestoreTPL (OldTpl);\r
if (EraseBlockEnd->Event != NULL) {\r
gBS->CloseEvent (EraseBlockEnd->Event);\r
}\r
// For synchronous operation, free request whatever the execution result is.\r
//\r
if (EraseBlockEnd != NULL) {\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
RemoveEntryList (&EraseBlockEnd->Link);\r
+ gBS->RestoreTPL (OldTpl);\r
FreePool (EraseBlockEnd);\r
}\r
}\r
}\r
\r
EraseBlock->Signature = SD_REQUEST_SIGNATURE;\r
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
InsertTailList (&Device->Queue, &EraseBlock->Link);\r
gBS->RestoreTPL (OldTpl);\r
EraseBlock->Packet.SdMmcCmdBlk = &EraseBlock->SdMmcCmdBlk;\r
if ((Token != NULL) && (Token->Event != NULL)) {\r
Status = gBS->CreateEvent (\r
EVT_NOTIFY_SIGNAL,\r
- TPL_CALLBACK,\r
+ TPL_NOTIFY,\r
AsyncIoCallback,\r
EraseBlock,\r
&EraseBlock->Event\r
// The request and event will be freed in asynchronous callback for success case.\r
//\r
if (EFI_ERROR (Status) && (EraseBlock != NULL)) {\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
RemoveEntryList (&EraseBlock->Link);\r
+ gBS->RestoreTPL (OldTpl);\r
if (EraseBlock->Event != NULL) {\r
gBS->CloseEvent (EraseBlock->Event);\r
}\r
// For synchronous operation, free request whatever the execution result is.\r
//\r
if (EraseBlock != NULL) {\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
RemoveEntryList (&EraseBlock->Link);\r
+ gBS->RestoreTPL (OldTpl);\r
FreePool (EraseBlock);\r
}\r
}\r