diff options
author | erictian <erictian@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-05-05 05:21:38 +0000 |
---|---|---|
committer | erictian <erictian@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-05-05 05:21:38 +0000 |
commit | 15cc67e616cad2dad3d3b6f9ba1cba856b5de414 (patch) | |
tree | 66fac7dfc66e6fa93ad43b5e67f51a6f86ae8982 /MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.c | |
parent | b9d5a7f1dc0079ad269bfdcde28cd958b50cf4ed (diff) | |
download | edk2-15cc67e616cad2dad3d3b6f9ba1cba856b5de414.tar.gz edk2-15cc67e616cad2dad3d3b6f9ba1cba856b5de414.tar.bz2 edk2-15cc67e616cad2dad3d3b6f9ba1cba856b5de414.zip |
raise TPL to TPL_CALLBACK level at DriverBindingStart() for all usb-related modules, which prevent DriverBindingStop() from being invoked when DriverBindingStart() runs.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10460 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.c')
-rw-r--r-- | MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.c b/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.c index 0b1ea6ff3e..0175465ade 100644 --- a/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.c +++ b/MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIo.c @@ -125,7 +125,9 @@ DiskIoDriverBindingStart ( {
EFI_STATUS Status;
DISK_IO_PRIVATE_DATA *Private;
+ EFI_TPL OldTpl;
+ OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
Private = NULL;
//
@@ -140,7 +142,7 @@ DiskIoDriverBindingStart ( EFI_OPEN_PROTOCOL_BY_DRIVER
);
if (EFI_ERROR (Status)) {
- return Status;
+ goto ErrorExit1;
}
//
@@ -177,6 +179,8 @@ ErrorExit: );
}
+ErrorExit1:
+ gBS->RestoreTPL (OldTpl);
return Status;
}
|