LIST_ENTRY *Link;\r
LIST_ENTRY *NextLink;\r
SD_MMC_HC_TRB *Trb;\r
+ EFI_TPL OldTpl;\r
\r
Private = (SD_MMC_HC_PRIVATE_DATA*)Context;\r
\r
//\r
// Signal all async task events at the slot with EFI_NO_MEDIA status.\r
//\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
for (Link = GetFirstNode (&Private->Queue);\r
!IsNull (&Private->Queue, Link);\r
Link = NextLink) {\r
SdMmcFreeTrb (Trb);\r
}\r
}\r
+ gBS->RestoreTPL (OldTpl);\r
//\r
// Notify the upper layer the connect state change through ReinstallProtocolInterface.\r
//\r
//\r
Status = gBS->CreateEvent (\r
EVT_TIMER | EVT_NOTIFY_SIGNAL,\r
- TPL_CALLBACK,\r
+ TPL_NOTIFY,\r
ProcessAsyncTaskList,\r
Private,\r
&Private->TimerEvent\r
// Wait async I/O list is empty before execute sync I/O operation.\r
//\r
while (TRUE) {\r
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
if (IsListEmpty (&Private->Queue)) {\r
gBS->RestoreTPL (OldTpl);\r
break;\r
//\r
// Free all async I/O requests in the queue\r
//\r
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
\r
for (Link = GetFirstNode (&Private->Queue);\r
!IsNull (&Private->Queue, Link);\r