- REPORT_STATUS_CODE_WITH_DEVICE_PATH (\r
- EFI_ERROR_CODE | EFI_ERROR_MINOR,\r
- (EFI_PERIPHERAL_KEYBOARD | EFI_P_EC_INTERFACE_ERROR),\r
- UsbKeyboardDevice->DevicePath\r
- );\r
+ Status = UsbSetConfiguration (\r
+ UsbKeyboardDevice->UsbIo,\r
+ ConfigValue,\r
+ &TransferResult\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ //\r
+ // If configuration could not be set here, it means\r
+ // the keyboard interface has some errors and could\r
+ // not be initialized\r
+ //\r
+ REPORT_STATUS_CODE_WITH_DEVICE_PATH (\r
+ EFI_ERROR_CODE | EFI_ERROR_MINOR,\r
+ (EFI_PERIPHERAL_KEYBOARD | EFI_P_EC_INTERFACE_ERROR),\r
+ UsbKeyboardDevice->DevicePath\r
+ );\r