Fix component name bugs when input Controller Name is invalid

Fix the driver binding version for platform/OEM specific drivers 




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2274 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
qhuang8
2007-01-19 08:06:15 +00:00
parent 8b018de64f
commit 61fb1657e5
32 changed files with 121 additions and 40 deletions

View File

@ -93,7 +93,7 @@ EFI_DRIVER_BINDING_PROTOCOL gAtapiScsiPassThruDriverBinding = {
AtapiScsiPassThruDriverBindingSupported, AtapiScsiPassThruDriverBindingSupported,
AtapiScsiPassThruDriverBindingStart, AtapiScsiPassThruDriverBindingStart,
AtapiScsiPassThruDriverBindingStop, AtapiScsiPassThruDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -30,7 +30,7 @@ EFI_DRIVER_BINDING_PROTOCOL gCirrusLogic5430DriverBinding = {
CirrusLogic5430ControllerDriverSupported, CirrusLogic5430ControllerDriverSupported,
CirrusLogic5430ControllerDriverStart, CirrusLogic5430ControllerDriverStart,
CirrusLogic5430ControllerDriverStop, CirrusLogic5430ControllerDriverStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -162,6 +162,17 @@ EhciComponentNameGetControllerName (
return EFI_UNSUPPORTED; return EFI_UNSUPPORTED;
} }
// //
// Make sure this driver is currently managing ControllerHandle
//
Status = EfiTestManagedDevice (
ControllerHandle,
gEhciDriverBinding.DriverBindingHandle,
&gEfiPciIoProtocolGuid
);
if (EFI_ERROR (Status)) {
return Status;
}
//
// Get the device context // Get the device context
// //
Status = gBS->OpenProtocol ( Status = gBS->OpenProtocol (

View File

@ -218,7 +218,7 @@ EFI_DRIVER_BINDING_PROTOCOL gEhciDriverBinding = {
EhciDriverBindingSupported, EhciDriverBindingSupported,
EhciDriverBindingStart, EhciDriverBindingStart,
EhciDriverBindingStop, EhciDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -125,16 +125,13 @@ IDEBusComponentNameGetControllerName (
IDE_BLK_IO_DEV *IdeBlkIoDevice; IDE_BLK_IO_DEV *IdeBlkIoDevice;
// //
// Get the controller context // Make sure this driver is currently managing ControllHandle
// //
Status = gBS->OpenProtocol ( Status = EfiTestManagedDevice (
ControllerHandle, ControllerHandle,
&gEfiCallerIdGuid, gIDEBusDriverBinding.DriverBindingHandle,
NULL, &gEfiIdeControllerInitProtocolGuid
gIDEBusDriverBinding.DriverBindingHandle, );
ControllerHandle,
EFI_OPEN_PROTOCOL_TEST_PROTOCOL
);
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
return Status; return Status;
} }
@ -148,6 +145,15 @@ IDEBusComponentNameGetControllerName (
); );
} }
Status = EfiTestChildHandle (
ControllerHandle,
ChildHandle,
&gEfiPciIoProtocolGuid
);
if (EFI_ERROR (Status)) {
return Status;
}
// //
// Get the child context // Get the child context
// //

View File

@ -26,7 +26,7 @@ EFI_DRIVER_BINDING_PROTOCOL gIDEBusDriverBinding = {
IDEBusDriverBindingSupported, IDEBusDriverBindingSupported,
IDEBusDriverBindingStart, IDEBusDriverBindingStart,
IDEBusDriverBindingStop, IDEBusDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -67,7 +67,7 @@ EFI_DRIVER_BINDING_PROTOCOL gPciBusDriverBinding = {
PciBusDriverBindingSupported, PciBusDriverBindingSupported,
PciBusDriverBindingStart, PciBusDriverBindingStart,
PciBusDriverBindingStop, PciBusDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -162,6 +162,17 @@ UhciComponentNameGetControllerName (
return EFI_UNSUPPORTED; return EFI_UNSUPPORTED;
} }
// //
// Make sure this driver is currently managing ControllerHandle
//
Status = EfiTestManagedDevice (
ControllerHandle,
gUhciDriverBinding.DriverBindingHandle,
&gEfiPciIoProtocolGuid
);
if (EFI_ERROR (Status)) {
return Status;
}
//
// Get the device context // Get the device context
// //
Status = gBS->OpenProtocol ( Status = gBS->OpenProtocol (

View File

@ -364,7 +364,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUhciDriverBinding = {
UHCIDriverBindingSupported, UHCIDriverBindingSupported,
UHCIDriverBindingStart, UHCIDriverBindingStart,
UHCIDriverBindingStop, UHCIDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -192,7 +192,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUndiDriverBinding = {
UndiDriverSupported, UndiDriverSupported,
UndiDriverStart, UndiDriverStart,
UndiDriverStop, UndiDriverStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -50,7 +50,7 @@ EFI_DRIVER_BINDING_PROTOCOL gSCSIBusDriverBinding = {
SCSIBusDriverBindingSupported, SCSIBusDriverBindingSupported,
SCSIBusDriverBindingStart, SCSIBusDriverBindingStart,
SCSIBusDriverBindingStop, SCSIBusDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -162,6 +162,17 @@ ScsiDiskComponentNameGetControllerName (
return EFI_UNSUPPORTED; return EFI_UNSUPPORTED;
} }
//
// Make sure this driver is currently managing ControllerHandle
//
Status = EfiTestManagedDevice (
ControllerHandle,
gScsiDiskDriverBinding.DriverBindingHandle,
&gEfiScsiIoProtocolGuid
);
if (EFI_ERROR (Status)) {
return Status;
}
// //
// Get the device context // Get the device context
// //

View File

@ -48,7 +48,7 @@ EFI_DRIVER_BINDING_PROTOCOL gScsiDiskDriverBinding = {
ScsiDiskDriverBindingSupported, ScsiDiskDriverBindingSupported,
ScsiDiskDriverBindingStart, ScsiDiskDriverBindingStart,
ScsiDiskDriverBindingStop, ScsiDiskDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -161,7 +161,17 @@ UsbBotComponentNameGetControllerName (
if (ChildHandle != NULL) { if (ChildHandle != NULL) {
return EFI_UNSUPPORTED; return EFI_UNSUPPORTED;
} }
//
// Make sure this driver is currently managing ControllerHandle
//
Status = EfiTestManagedDevice (
ControllerHandle,
gUsbBotDriverBinding.DriverBindingHandle,
&gEfiUsbIoProtocolGuid
);
if (EFI_ERROR (Status)) {
return Status;
}
// //
// Get the device context // Get the device context
// //

View File

@ -62,7 +62,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUsbBotDriverBinding = {
BotDriverBindingSupported, BotDriverBindingSupported,
BotDriverBindingStart, BotDriverBindingStart,
BotDriverBindingStop, BotDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -68,7 +68,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUsbBusDriverBinding = {
UsbBusControllerDriverSupported, UsbBusControllerDriverSupported,
UsbBusControllerDriverStart, UsbBusControllerDriverStart,
UsbBusControllerDriverStop, UsbBusControllerDriverStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -73,7 +73,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUsbCbi0DriverBinding = {
Cbi0DriverBindingSupported, Cbi0DriverBindingSupported,
Cbi0DriverBindingStart, Cbi0DriverBindingStart,
Cbi0DriverBindingStop, Cbi0DriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -163,7 +163,17 @@ UsbCbi0ComponentNameGetControllerName (
if (ChildHandle != NULL) { if (ChildHandle != NULL) {
return EFI_UNSUPPORTED; return EFI_UNSUPPORTED;
} }
//
// Make sure this driver is currently managing ControllerHandle
//
Status = EfiTestManagedDevice (
ControllerHandle,
gUsbCbi0DriverBinding.DriverBindingHandle,
&gEfiUsbIoProtocolGuid
);
if (EFI_ERROR (Status)) {
return Status;
}
// //
// Get the device context // Get the device context
// //

View File

@ -117,7 +117,7 @@ EFI_DRIVER_BINDING_PROTOCOL gCBI1DriverBinding = {
CBI1DriverBindingSupported, CBI1DriverBindingSupported,
CBI1DriverBindingStart, CBI1DriverBindingStart,
CBI1DriverBindingStop, CBI1DriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -103,7 +103,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUsbKeyboardDriverBinding = {
USBKeyboardDriverBindingSupported, USBKeyboardDriverBindingSupported,
USBKeyboardDriverBindingStart, USBKeyboardDriverBindingStart,
USBKeyboardDriverBindingStop, USBKeyboardDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -109,7 +109,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUSBFloppyDriverBinding = {
USBFloppyDriverBindingSupported, USBFloppyDriverBindingSupported,
USBFloppyDriverBindingStart, USBFloppyDriverBindingStart,
USBFloppyDriverBindingStop, USBFloppyDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -61,7 +61,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUsbMouseDriverBinding = {
USBMouseDriverBindingSupported, USBMouseDriverBindingSupported,
USBMouseDriverBindingStart, USBMouseDriverBindingStart,
USBMouseDriverBindingStop, USBMouseDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -23,7 +23,7 @@ EFI_DRIVER_BINDING_PROTOCOL gConPlatformTextInDriverBinding = {
ConPlatformTextInDriverBindingSupported, ConPlatformTextInDriverBindingSupported,
ConPlatformTextInDriverBindingStart, ConPlatformTextInDriverBindingStart,
ConPlatformDriverBindingStop, ConPlatformDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };
@ -32,7 +32,7 @@ EFI_DRIVER_BINDING_PROTOCOL gConPlatformTextOutDriverBinding = {
ConPlatformTextOutDriverBindingSupported, ConPlatformTextOutDriverBindingSupported,
ConPlatformTextOutDriverBindingStart, ConPlatformTextOutDriverBindingStart,
ConPlatformDriverBindingStop, ConPlatformDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -217,7 +217,7 @@ EFI_DRIVER_BINDING_PROTOCOL gConSplitterConInDriverBinding = {
ConSplitterConInDriverBindingSupported, ConSplitterConInDriverBindingSupported,
ConSplitterConInDriverBindingStart, ConSplitterConInDriverBindingStart,
ConSplitterConInDriverBindingStop, ConSplitterConInDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };
@ -226,7 +226,7 @@ EFI_DRIVER_BINDING_PROTOCOL gConSplitterSimplePointerDriverBinding = {
ConSplitterSimplePointerDriverBindingSupported, ConSplitterSimplePointerDriverBindingSupported,
ConSplitterSimplePointerDriverBindingStart, ConSplitterSimplePointerDriverBindingStart,
ConSplitterSimplePointerDriverBindingStop, ConSplitterSimplePointerDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };
@ -235,7 +235,7 @@ EFI_DRIVER_BINDING_PROTOCOL gConSplitterConOutDriverBinding = {
ConSplitterConOutDriverBindingSupported, ConSplitterConOutDriverBindingSupported,
ConSplitterConOutDriverBindingStart, ConSplitterConOutDriverBindingStart,
ConSplitterConOutDriverBindingStop, ConSplitterConOutDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };
@ -244,7 +244,7 @@ EFI_DRIVER_BINDING_PROTOCOL gConSplitterStdErrDriverBinding = {
ConSplitterStdErrDriverBindingSupported, ConSplitterStdErrDriverBindingSupported,
ConSplitterStdErrDriverBindingStart, ConSplitterStdErrDriverBindingStart,
ConSplitterStdErrDriverBindingStop, ConSplitterStdErrDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -144,7 +144,7 @@ EFI_DRIVER_BINDING_PROTOCOL gGraphicsConsoleDriverBinding = {
GraphicsConsoleControllerDriverSupported, GraphicsConsoleControllerDriverSupported,
GraphicsConsoleControllerDriverStart, GraphicsConsoleControllerDriverStart,
GraphicsConsoleControllerDriverStop, GraphicsConsoleControllerDriverStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -162,12 +162,34 @@ TerminalComponentNameGetControllerName (
EFI_SIMPLE_TEXT_OUT_PROTOCOL *SimpleTextOutput; EFI_SIMPLE_TEXT_OUT_PROTOCOL *SimpleTextOutput;
TERMINAL_DEV *TerminalDevice; TERMINAL_DEV *TerminalDevice;
//
// Make sure this driver is currently managing ControllHandle
//
Status = EfiTestManagedDevice (
ControllerHandle,
gTerminalDriverBinding.DriverBindingHandle,
&gEfiSerialIoProtocolGuid
);
if (EFI_ERROR (Status)) {
return Status;
}
// //
// This is a bus driver, so ChildHandle can not be NULL. // This is a bus driver, so ChildHandle can not be NULL.
// //
if (ChildHandle == NULL) { if (ChildHandle == NULL) {
return EFI_UNSUPPORTED; return EFI_UNSUPPORTED;
} }
Status = EfiTestChildHandle (
ControllerHandle,
ChildHandle,
&gEfiSerialIoProtocolGuid
);
if (EFI_ERROR (Status)) {
return Status;
}
// //
// Get our context back // Get our context back
// //

View File

@ -57,7 +57,7 @@ EFI_DRIVER_BINDING_PROTOCOL gTerminalDriverBinding = {
TerminalDriverBindingSupported, TerminalDriverBindingSupported,
TerminalDriverBindingStart, TerminalDriverBindingStart,
TerminalDriverBindingStop, TerminalDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -88,7 +88,7 @@ EFI_DRIVER_BINDING_PROTOCOL gDiskIoDriverBinding = {
DiskIoDriverBindingSupported, DiskIoDriverBindingSupported,
DiskIoDriverBindingStart, DiskIoDriverBindingStart,
DiskIoDriverBindingStop, DiskIoDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -66,7 +66,7 @@ EFI_DRIVER_BINDING_PROTOCOL gPartitionDriverBinding = {
PartitionDriverBindingSupported, PartitionDriverBindingSupported,
PartitionDriverBindingStart, PartitionDriverBindingStart,
PartitionDriverBindingStop, PartitionDriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -2119,7 +2119,7 @@ EFI_DRIVER_BINDING_PROTOCOL gPxeBcDriverBinding = {
PxeBcDriverSupported, PxeBcDriverSupported,
PxeBcDriverStart, PxeBcDriverStart,
PxeBcDriverStop, PxeBcDriverStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -66,7 +66,7 @@ EFI_DRIVER_BINDING_PROTOCOL gPxeDhcp4DriverBinding = {
PxeDhcp4DriverBindingSupported, PxeDhcp4DriverBindingSupported,
PxeDhcp4DriverBindingStart, PxeDhcp4DriverBindingStart,
PxeDhcp4DriverBindingStop, PxeDhcp4DriverBindingStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };

View File

@ -79,7 +79,7 @@ EFI_DRIVER_BINDING_PROTOCOL mSimpleNetworkDriverBinding = {
SimpleNetworkDriverSupported, SimpleNetworkDriverSupported,
SimpleNetworkDriverStart, SimpleNetworkDriverStart,
SimpleNetworkDriverStop, SimpleNetworkDriverStop,
0x10, 0xa,
NULL, NULL,
NULL NULL
}; };