Merge in some fix from R8 on USB Bus driver:
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 20 Aug 2007 03:13:24 +0000 (03:13 +0000)
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 20 Aug 2007 03:13:24 +0000 (03:13 +0000)
1) Signal event immediately after HUB UsbRootHubEnumeration event is installed
2) Move UsbHcReset and UsbHcSetState before mUsbRootHubApi.Init
3) Change USB_DEBUG and USB_ERROR to R9 DEBUG macro.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3680 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Bus/Usb/UsbBusDxe/UsbDesc.c
MdeModulePkg/Bus/Usb/UsbBusDxe/UsbEnumer.c
MdeModulePkg/Bus/Usb/UsbBusDxe/UsbHub.c
MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.c
MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.h
MdeModulePkg/Bus/Usb/UsbBusDxe/usbbus.c

index ffed149..6d68d81 100644 (file)
@@ -208,7 +208,7 @@ UsbCreateDesc (
 \r
   if ((Len <= Offset)      || (Len < Offset + DescLen) ||\r
       (Head->Type != Type) || (Head->Len != DescLen)) {\r
-    USB_ERROR (("UsbCreateDesc: met mal-format descriptor\n"));\r
+    DEBUG (( EFI_D_ERROR, "UsbCreateDesc: met mal-format descriptor\n"));\r
     return NULL;\r
   }\r
 \r
@@ -254,7 +254,7 @@ UsbParseInterfaceDesc (
   Setting   = UsbCreateDesc (DescBuf, Len, USB_DESC_TYPE_INTERFACE, &Used);\r
 \r
   if (Setting == NULL) {\r
-    USB_ERROR (("UsbParseInterfaceDesc: failed to create interface descriptor\n"));\r
+    DEBUG (( EFI_D_ERROR, "UsbParseInterfaceDesc: failed to create interface descriptor\n"));\r
     return NULL;\r
   }\r
 \r
@@ -265,7 +265,7 @@ UsbParseInterfaceDesc (
   //\r
   NumEp  = Setting->Desc.NumEndpoints;\r
 \r
-  USB_DEBUG (("UsbParseInterfaceDesc: interface %d(setting %d) has %d endpoints\n",\r
+  DEBUG (( EFI_D_INFO, "UsbParseInterfaceDesc: interface %d(setting %d) has %d endpoints\n",\r
               Setting->Desc.InterfaceNumber, Setting->Desc.AlternateSetting, NumEp));\r
 \r
   if (NumEp == 0) {\r
@@ -285,7 +285,7 @@ UsbParseInterfaceDesc (
     Ep = UsbCreateDesc (DescBuf + Offset, Len - Offset, USB_DESC_TYPE_ENDPOINT, &Used);\r
 \r
     if (Ep == NULL) {\r
-      USB_ERROR (("UsbParseInterfaceDesc: failed to create endpoint(index %d)\n", Index));\r
+      DEBUG (( EFI_D_ERROR, "UsbParseInterfaceDesc: failed to create endpoint(index %d)\n", Index));\r
       goto ON_ERROR;\r
     }\r
 \r
@@ -345,7 +345,7 @@ UsbParseConfigDesc (
     goto ON_ERROR;\r
   }\r
 \r
-  USB_DEBUG (("UsbParseConfigDesc: config %d has %d interfaces\n",\r
+  DEBUG (( EFI_D_INFO, "UsbParseConfigDesc: config %d has %d interfaces\n",\r
                 Config->Desc.ConfigurationValue, NumIf));\r
 \r
   for (Index = 0; Index < NumIf; Index++) {\r
@@ -373,11 +373,11 @@ UsbParseConfigDesc (
     Setting = UsbParseInterfaceDesc (DescBuf, Len, &Consumed);\r
 \r
     if ((Setting == NULL)) {\r
-      USB_ERROR (("UsbParseConfigDesc: failed to parse interface setting\n"));\r
+      DEBUG (( EFI_D_ERROR, "UsbParseConfigDesc: failed to parse interface setting\n"));\r
       goto ON_ERROR;\r
 \r
     } else if (Setting->Desc.InterfaceNumber >= NumIf) {\r
-      USB_ERROR (("UsbParseConfigDesc: mal-formated interface descriptor\n"));\r
+      DEBUG (( EFI_D_ERROR, "UsbParseConfigDesc: mal-formated interface descriptor\n"));\r
 \r
       UsbFreeInterfaceDesc (Setting);\r
       goto ON_ERROR;\r
@@ -747,13 +747,13 @@ UsbGetOneConfig (
   Status = UsbCtrlGetDesc (UsbDev, USB_DESC_TYPE_CONFIG, Index, 0, &Desc, 8);\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbGetOneConfig: failed to get descript length(%d) %r\n",\r
+    DEBUG (( EFI_D_ERROR, "UsbGetOneConfig: failed to get descript length(%d) %r\n",\r
                 Status, Desc.TotalLength));\r
 \r
     return NULL;\r
   }\r
 \r
-  USB_DEBUG (("UsbGetOneConfig: total length is %d\n", Desc.TotalLength));\r
+  DEBUG (( EFI_D_INFO, "UsbGetOneConfig: total length is %d\n", Desc.TotalLength));\r
 \r
   Buf = AllocateZeroPool (Desc.TotalLength);\r
 \r
@@ -764,7 +764,7 @@ UsbGetOneConfig (
   Status = UsbCtrlGetDesc (UsbDev, USB_DESC_TYPE_CONFIG, Index, 0, Buf, Desc.TotalLength);\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbGetOneConfig: failed to get full descript %r\n", Status));\r
+    DEBUG (( EFI_D_ERROR, "UsbGetOneConfig: failed to get full descript %r\n", Status));\r
 \r
     gBS->FreePool (Buf);\r
     return NULL;\r
@@ -805,7 +805,7 @@ UsbBuildDescTable (
   Status = UsbGetDevDesc (UsbDev);\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbBuildDescTable: failed to get device descriptor - %r\n", Status));\r
+    DEBUG (( EFI_D_ERROR, "UsbBuildDescTable: failed to get device descriptor - %r\n", Status));\r
     return Status;\r
   }\r
 \r
@@ -817,7 +817,7 @@ UsbBuildDescTable (
     return EFI_OUT_OF_RESOURCES;\r
   }\r
 \r
-  USB_DEBUG (("UsbBuildDescTable: device has %d configures\n", NumConfig));\r
+  DEBUG (( EFI_D_INFO, "UsbBuildDescTable: device has %d configures\n", NumConfig));\r
 \r
   //\r
   // Read each configurations, then parse them\r
@@ -826,7 +826,7 @@ UsbBuildDescTable (
     Config = UsbGetOneConfig (UsbDev, Index);\r
 \r
     if (Config == NULL) {\r
-      USB_ERROR (("UsbBuildDescTable: failed to get configure (index %d)\n", Index));\r
+      DEBUG (( EFI_D_ERROR, "UsbBuildDescTable: failed to get configure (index %d)\n", Index));\r
 \r
       //\r
       // If we can get the default descriptor, it is likely that the\r
@@ -844,7 +844,7 @@ UsbBuildDescTable (
     gBS->FreePool (Config);\r
 \r
     if (ConfigDesc == NULL) {\r
-      USB_ERROR (("UsbBuildDescTable: failed to parse configure (index %d)\n", Index));\r
+      DEBUG (( EFI_D_ERROR, "UsbBuildDescTable: failed to parse configure (index %d)\n", Index));\r
 \r
       //\r
       // If we can get the default descriptor, it is likely that the\r
@@ -867,7 +867,7 @@ UsbBuildDescTable (
   Status = UsbBuildLangTable (UsbDev);\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_DEBUG (("UsbBuildDescTable: get language ID table %r\n", Status));\r
+    DEBUG (( EFI_D_ERROR, "UsbBuildDescTable: get language ID table %r\n", Status));\r
   }\r
 \r
   return EFI_SUCCESS;\r
index 0b5532e..28052de 100644 (file)
@@ -143,7 +143,7 @@ UsbCreateInterface (
   UsbIf->DevicePath = AppendDevicePathNode (HubIf->DevicePath, &UsbNode.Header);\r
 \r
   if (UsbIf->DevicePath == NULL) {\r
-    USB_ERROR (("UsbCreateInterface: failed to create device path\n"));\r
+    DEBUG ((EFI_D_ERROR, "UsbCreateInterface: failed to create device path\n"));\r
 \r
     Status = EFI_OUT_OF_RESOURCES;\r
     goto ON_ERROR;\r
@@ -159,7 +159,7 @@ UsbCreateInterface (
                   );\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbCreateInterface: failed to install UsbIo - %r\n", Status));\r
+    DEBUG ((EFI_D_ERROR, "UsbCreateInterface: failed to install UsbIo - %r\n", Status));\r
     goto ON_ERROR;\r
   }\r
 \r
@@ -178,7 +178,7 @@ UsbCreateInterface (
            NULL\r
            );\r
 \r
-    USB_ERROR (("UsbCreateInterface: failed to open host for child - %r\n", Status));\r
+    DEBUG ((EFI_D_ERROR, "UsbCreateInterface: failed to open host for child - %r\n", Status));\r
     goto ON_ERROR;\r
   }\r
 \r
@@ -277,7 +277,7 @@ UsbConnectDriver (
   // connect drivers with this interface\r
   //\r
   if (UsbIsHubInterface (UsbIf)) {\r
-    USB_DEBUG (("UsbConnectDriver: found a hub device\n"));\r
+    DEBUG ((EFI_D_INFO, "UsbConnectDriver: found a hub device\n"));\r
     Status = mUsbHubApi.Init (UsbIf);\r
 \r
   } else {\r
@@ -289,14 +289,14 @@ UsbConnectDriver (
     // or disconnect at CALLBACK.\r
     //\r
     OldTpl            = UsbGetCurrentTpl ();\r
-    USB_DEBUG (("UsbConnectDriver: TPL before connect is %d\n", OldTpl));\r
+    DEBUG ((EFI_D_INFO, "UsbConnectDriver: TPL before connect is %d\n", OldTpl));\r
 \r
     gBS->RestoreTPL (TPL_CALLBACK);\r
 \r
     Status            = gBS->ConnectController (UsbIf->Handle, NULL, NULL, TRUE);\r
     UsbIf->IsManaged  = (BOOLEAN)!EFI_ERROR (Status);\r
 \r
-    USB_DEBUG (("UsbConnectDriver: TPL after connect is %d\n", UsbGetCurrentTpl()));\r
+    DEBUG ((EFI_D_INFO, "UsbConnectDriver: TPL after connect is %d\n", UsbGetCurrentTpl()));\r
     ASSERT (UsbGetCurrentTpl () == TPL_CALLBACK);\r
 \r
     gBS->RaiseTPL (OldTpl);\r
@@ -347,7 +347,7 @@ UsbSelectSetting (
 \r
   IfDesc->ActiveIndex = Index;\r
 \r
-  USB_DEBUG (("UsbSelectSetting: setting %d selected for interface %d\n",\r
+  DEBUG ((EFI_D_INFO, "UsbSelectSetting: setting %d selected for interface %d\n",\r
               Alternate, Setting->Desc.InterfaceNumber));\r
 \r
   //\r
@@ -406,7 +406,7 @@ UsbSelectConfig (
 \r
   Device->ActiveConfig = ConfigDesc;\r
 \r
-  USB_DEBUG (("UsbSelectConfig: config %d selected for device %d\n",\r
+  DEBUG ((EFI_D_INFO, "UsbSelectConfig: config %d selected for device %d\n",\r
               ConfigValue, Device->Address));\r
 \r
   //\r
@@ -439,7 +439,7 @@ UsbSelectConfig (
     Status = UsbConnectDriver (UsbIf);\r
 \r
     if (EFI_ERROR (Status)) {\r
-      USB_ERROR (("UsbSelectConfig: failed to connect driver %r, ignored\n", Status));\r
+      DEBUG ((EFI_D_ERROR, "UsbSelectConfig: failed to connect driver %r, ignored\n", Status));\r
     }\r
   }\r
 \r
@@ -482,14 +482,14 @@ UsbDisconnectDriver (
     // or disconnect at CALLBACK.\r
     //\r
     OldTpl           = UsbGetCurrentTpl ();\r
-    USB_DEBUG (("UsbDisconnectDriver: old TPL is %d\n", OldTpl));\r
+    DEBUG ((EFI_D_INFO, "UsbDisconnectDriver: old TPL is %d\n", OldTpl));\r
 \r
     gBS->RestoreTPL (TPL_CALLBACK);\r
 \r
     gBS->DisconnectController (UsbIf->Handle, NULL, NULL);\r
     UsbIf->IsManaged = FALSE;\r
 \r
-    USB_DEBUG (("UsbDisconnectDriver: TPL after disconnect is %d\n", UsbGetCurrentTpl()));\r
+    DEBUG (( EFI_D_INFO, "UsbDisconnectDriver: TPL after disconnect is %d\n", UsbGetCurrentTpl()));\r
     ASSERT (UsbGetCurrentTpl () == TPL_CALLBACK);\r
 \r
     gBS->RaiseTPL (OldTpl);\r
@@ -569,14 +569,14 @@ UsbRemoveDevice (
     Status = UsbRemoveDevice (Child);\r
 \r
     if (EFI_ERROR (Status)) {\r
-      USB_ERROR (("UsbRemoveDevice: failed to remove child, ignore error\n"));\r
+      DEBUG ((EFI_D_ERROR, "UsbRemoveDevice: failed to remove child, ignore error\n"));\r
       Bus->Devices[Index] = NULL;\r
     }\r
   }\r
 \r
   UsbRemoveConfig (Device);\r
 \r
-  USB_DEBUG (("UsbRemoveDevice: device %d removed\n", Device->Address));\r
+  DEBUG (( EFI_D_INFO, "UsbRemoveDevice: device %d removed\n", Device->Address));\r
 \r
   Bus->Devices[Device->Address] = NULL;\r
   UsbFreeDevice (Device);\r
@@ -672,12 +672,12 @@ UsbEnumerateNewDev (
   Status = HubApi->ResetPort (HubIf, Port);\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbEnumerateNewDev: failed to reset port %d - %r\n", Port, Status));\r
+    DEBUG ((EFI_D_ERROR, "UsbEnumerateNewDev: failed to reset port %d - %r\n", Port, Status));\r
 \r
     return Status;\r
   }\r
 \r
-  USB_DEBUG (("UsbEnumerateNewDev: hub port %d is reset\n", Port));\r
+  DEBUG (( EFI_D_INFO, "UsbEnumerateNewDev: hub port %d is reset\n", Port));\r
 \r
   Child = UsbCreateDevice (HubIf, Port);\r
 \r
@@ -692,7 +692,7 @@ UsbEnumerateNewDev (
   Status = HubApi->GetPortStatus (HubIf, Port, &PortState);\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbEnumerateNewDev: failed to get speed of port %d\n", Port));\r
+    DEBUG ((EFI_D_ERROR, "UsbEnumerateNewDev: failed to get speed of port %d\n", Port));\r
     goto ON_ERROR;\r
   }\r
 \r
@@ -706,7 +706,7 @@ UsbEnumerateNewDev (
     Child->Speed = EFI_USB_SPEED_FULL;\r
   }\r
 \r
-  USB_DEBUG (("UsbEnumerateNewDev: device is of %d speed\n", Child->Speed));\r
+  DEBUG (( EFI_D_INFO, "UsbEnumerateNewDev: device is of %d speed\n", Child->Speed));\r
 \r
   if (Child->Speed != EFI_USB_SPEED_HIGH) {\r
     //\r
@@ -723,7 +723,7 @@ UsbEnumerateNewDev (
       Child->Translator = Parent->Translator;\r
     }\r
 \r
-    USB_DEBUG (("UsbEnumerateNewDev: device uses translator (%d, %d)\n",\r
+    DEBUG (( EFI_D_INFO, "UsbEnumerateNewDev: device uses translator (%d, %d)\n",\r
                 Child->Translator.TranslatorHubAddress,\r
                 Child->Translator.TranslatorPortNumber));\r
   }\r
@@ -742,11 +742,11 @@ UsbEnumerateNewDev (
   Status = UsbGetMaxPacketSize0 (Child);\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbEnumerateNewDev: failed to get max packet for EP 0 - %r\n", Status));\r
+    DEBUG ((EFI_D_ERROR, "UsbEnumerateNewDev: failed to get max packet for EP 0 - %r\n", Status));\r
     goto ON_ERROR;\r
   }\r
 \r
-  USB_DEBUG (("UsbEnumerateNewDev: max packet size for EP 0 is %d\n", Child->MaxPacket0));\r
+  DEBUG (( EFI_D_INFO, "UsbEnumerateNewDev: max packet size for EP 0 is %d\n", Child->MaxPacket0));\r
 \r
   //\r
   // Host assigns an address to the device. Device completes the\r
@@ -760,7 +760,7 @@ UsbEnumerateNewDev (
   }\r
 \r
   if (Address == USB_MAX_DEVICES) {\r
-    USB_ERROR (("UsbEnumerateNewDev: address pool is full for port %d\n", Port));\r
+    DEBUG ((EFI_D_ERROR, "UsbEnumerateNewDev: address pool is full for port %d\n", Port));\r
 \r
     Status = EFI_ACCESS_DENIED;\r
     goto ON_ERROR;\r
@@ -771,7 +771,7 @@ UsbEnumerateNewDev (
   Child->Address        = Address;\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbEnumerateNewDev: failed to set device address - %r\n", Status));\r
+    DEBUG ((EFI_D_ERROR, "UsbEnumerateNewDev: failed to set device address - %r\n", Status));\r
     goto ON_ERROR;\r
   }\r
 \r
@@ -780,7 +780,7 @@ UsbEnumerateNewDev (
   //\r
   gBS->Stall (20 * USB_STALL_1_MS);\r
 \r
-  USB_DEBUG (("UsbEnumerateNewDev: device is now ADDRESSED at %d\n", Address));\r
+  DEBUG ((EFI_D_INFO, "UsbEnumerateNewDev: device is now ADDRESSED at %d\n", Address));\r
 \r
   //\r
   // Host learns about the device¡¯s abilities by requesting device's\r
@@ -789,7 +789,7 @@ UsbEnumerateNewDev (
   Status = UsbBuildDescTable (Child);\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbEnumerateNewDev: failed to build descriptor table - %r\n", Status));\r
+    DEBUG ((EFI_D_ERROR, "UsbEnumerateNewDev: failed to build descriptor table - %r\n", Status));\r
     goto ON_ERROR;\r
   }\r
 \r
@@ -801,11 +801,11 @@ UsbEnumerateNewDev (
   Status = UsbSetConfig (Child, Config);\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbEnumerateNewDev: failed to set configure %d - %r\n", Config, Status));\r
+    DEBUG ((EFI_D_ERROR, "UsbEnumerateNewDev: failed to set configure %d - %r\n", Config, Status));\r
     goto ON_ERROR;\r
   }\r
 \r
-  USB_DEBUG (("UsbEnumerateNewDev: device %d is now in CONFIGED state\n", Address));\r
+  DEBUG (( EFI_D_INFO, "UsbEnumerateNewDev: device %d is now in CONFIGED state\n", Address));\r
 \r
   //\r
   // Host assigns and loads a device driver.\r
@@ -813,7 +813,7 @@ UsbEnumerateNewDev (
   Status = UsbSelectConfig (Child, Config);\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbEnumerateNewDev: failed to create interfaces - %r\n", Status));\r
+    DEBUG ((EFI_D_ERROR, "UsbEnumerateNewDev: failed to create interfaces - %r\n", Status));\r
     goto ON_ERROR;\r
   }\r
 \r
@@ -865,7 +865,7 @@ UsbEnumeratePort (
   Status = HubApi->GetPortStatus (HubIf, Port, &PortState);\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbEnumeratePort: failed to get state of port %d\n", Port));\r
+    DEBUG ((EFI_D_ERROR, "UsbEnumeratePort: failed to get state of port %d\n", Port));\r
     return Status;\r
   }\r
 \r
@@ -873,7 +873,7 @@ UsbEnumeratePort (
     return EFI_SUCCESS;\r
   }\r
 \r
-  USB_DEBUG (("UsbEnumeratePort: port %d state - %x, change - %x\n",\r
+  DEBUG (( EFI_D_INFO, "UsbEnumeratePort: port %d state - %x, change - %x\n",\r
               Port, PortState.PortStatus, PortState.PortChangeStatus));\r
 \r
   //\r
@@ -890,7 +890,7 @@ UsbEnumeratePort (
       // which probably is caused by short circuit. It has to wait system hardware\r
       // to perform recovery.\r
       //\r
-      USB_DEBUG (("UsbEnumeratePort: Critical Over Current\n", Port));\r
+      DEBUG (( EFI_D_ERROR, "UsbEnumeratePort: Critical Over Current\n", Port));\r
       return EFI_DEVICE_ERROR;\r
       \r
     } else {\r
@@ -899,7 +899,7 @@ UsbEnumeratePort (
       // over current. As a result, all ports are nearly power-off, so\r
       // it's necessary to detach and enumerate all ports again. \r
       //\r
-      USB_DEBUG (("UsbEnumeratePort: 2.0 device Recovery Over Current\n", Port)); \r
+      DEBUG (( EFI_D_ERROR, "UsbEnumeratePort: 2.0 device Recovery Over Current\n", Port)); \r
       goto ON_ENUMERATE;\r
       \r
     }\r
@@ -911,7 +911,7 @@ UsbEnumeratePort (
     // on 2.0 roothub does. When over-current has influence on 1.1 device, the port \r
     // would be disabled, so it's also necessary to detach and enumerate again.\r
     //\r
-    USB_DEBUG (("UsbEnumeratePort: 1.1 device Recovery Over Current\n", Port));\r
+    DEBUG (( EFI_D_ERROR, "UsbEnumeratePort: 1.1 device Recovery Over Current\n", Port));\r
     goto ON_ENUMERATE;\r
   }\r
   \r
@@ -931,7 +931,7 @@ ON_ENUMERATE:
   Child = UsbFindChild (HubIf, Port);\r
   \r
   if (Child != NULL) {\r
-    USB_DEBUG (("UsbEnumeratePort: device at port %d removed from system\n", Port));\r
+    DEBUG (( EFI_D_INFO, "UsbEnumeratePort: device at port %d removed from system\n", Port));\r
     UsbRemoveDevice (Child);\r
   }\r
   \r
@@ -939,11 +939,11 @@ ON_ENUMERATE:
     //\r
     // Now, new device connected, enumerate and configure the device \r
     //\r
-    USB_DEBUG (("UsbEnumeratePort: new device connected at port %d\n", Port));\r
+    DEBUG (( EFI_D_INFO, "UsbEnumeratePort: new device connected at port %d\n", Port));\r
     Status = UsbEnumerateNewDev (HubIf, Port);\r
   \r
   } else {\r
-    USB_DEBUG (("UsbEnumeratePort: device disconnected event on port %d\n", Port));\r
+    DEBUG (( EFI_D_INFO, "UsbEnumeratePort: device disconnected event on port %d\n", Port));\r
   }\r
   \r
   HubApi->ClearPortChange (HubIf, Port);\r
index cb54f03..8d747d0 100644 (file)
@@ -553,7 +553,7 @@ UsbOnHubInterrupt (
                       );\r
 \r
     if (EFI_ERROR (Status)) {\r
-      USB_ERROR (("UsbOnHubInterrupt: failed to remove async transfer - %r\n", Status));\r
+      DEBUG (( EFI_D_ERROR, "UsbOnHubInterrupt: failed to remove async transfer - %r\n", Status));\r
       return Status;\r
     }\r
 \r
@@ -568,7 +568,7 @@ UsbOnHubInterrupt (
                       );\r
 \r
     if (EFI_ERROR (Status)) {\r
-      USB_ERROR (("UsbOnHubInterrupt: failed to submit new async transfer - %r\n", Status));\r
+      DEBUG (( EFI_D_ERROR, "UsbOnHubInterrupt: failed to submit new async transfer - %r\n", Status));\r
     }\r
 \r
     return Status;\r
@@ -668,20 +668,20 @@ UsbHubInit (
   }\r
 \r
   if (Index == Setting->Desc.NumEndpoints) {\r
-    USB_ERROR (("UsbHubInit: no interrupt endpoint found for hub %d\n", HubDev->Address));\r
+    DEBUG (( EFI_D_ERROR, "UsbHubInit: no interrupt endpoint found for hub %d\n", HubDev->Address));\r
     return EFI_DEVICE_ERROR;\r
   }\r
 \r
   Status = UsbHubReadDesc (HubDev, &HubDesc);\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbHubInit: failed to read HUB descriptor %r\n", Status));\r
+    DEBUG (( EFI_D_ERROR, "UsbHubInit: failed to read HUB descriptor %r\n", Status));\r
     return Status;\r
   }\r
 \r
   HubIf->NumOfPort = HubDesc.NumPorts;\r
 \r
-  USB_DEBUG (("UsbHubInit: hub %d has %d ports\n", HubDev->Address,HubIf->NumOfPort));\r
+  DEBUG (( EFI_D_INFO, "UsbHubInit: hub %d has %d ports\n", HubDev->Address,HubIf->NumOfPort));\r
 \r
   //\r
   // Create an event to enumerate the hub's port. On\r
@@ -695,7 +695,7 @@ UsbHubInit (
                   );\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbHubInit: failed to create signal for hub %d - %r\n",\r
+    DEBUG (( EFI_D_ERROR, "UsbHubInit: failed to create signal for hub %d - %r\n",\r
                 HubDev->Address, Status));\r
 \r
     return Status;\r
@@ -720,7 +720,7 @@ UsbHubInit (
                     );\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbHubInit: failed to queue interrupt transfer for hub %d - %r\n",\r
+    DEBUG (( EFI_D_ERROR, "UsbHubInit: failed to queue interrupt transfer for hub %d - %r\n",\r
                 HubDev->Address, Status));\r
 \r
     gBS->CloseEvent (HubIf->HubNotify);\r
@@ -750,7 +750,7 @@ UsbHubInit (
   gBS->Stall (HubDesc.PwrOn2PwrGood * 2 * USB_STALL_1_MS);\r
   UsbHubAckHubStatus (HubIf->Device);\r
 \r
-  USB_DEBUG (("UsbHubInit: hub %d initialized\n", HubDev->Address));\r
+  DEBUG (( EFI_D_INFO, "UsbHubInit: hub %d initialized\n", HubDev->Address));\r
   return Status;\r
 }\r
 \r
@@ -979,7 +979,7 @@ UsbHubRelease (
   HubIf->HubEp      = NULL;\r
   HubIf->HubNotify  = NULL;\r
 \r
-  USB_DEBUG (("UsbHubRelease: hub device %d released\n", HubIf->Device->Address));\r
+  DEBUG (( EFI_D_INFO, "UsbHubRelease: hub device %d released\n", HubIf->Device->Address));\r
   return EFI_SUCCESS;\r
 }\r
 \r
@@ -1011,7 +1011,7 @@ UsbRootHubInit (
     return Status;\r
   }\r
 \r
-  USB_DEBUG (("UsbRootHubInit: root hub %x - max speed %d, %d ports\n",\r
+  DEBUG (( EFI_D_INFO, "UsbRootHubInit: root hub %x - max speed %d, %d ports\n",\r
               HubIf, MaxSpeed, NumOfPort));\r
 \r
   HubIf->IsHub      = TRUE;\r
@@ -1036,6 +1036,12 @@ UsbRootHubInit (
     return Status;\r
   }\r
 \r
+  //\r
+  // It should signal the event immediately here, or device detection\r
+  // by bus enumeration might be delayed by the timer interval.\r
+  //\r
+  gBS->SignalEvent (HubIf->HubNotify);\r
+\r
   Status = gBS->SetTimer (\r
                   HubIf->HubNotify,\r
                   TimerPeriodic,\r
@@ -1216,7 +1222,7 @@ UsbRootHubResetPort (
   Status  = UsbHcSetRootHubPortFeature (Bus, Port, EfiUsbPortReset);\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbRootHubResetPort: failed to start reset on port %d\n", Port));\r
+    DEBUG (( EFI_D_ERROR, "UsbRootHubResetPort: failed to start reset on port %d\n", Port));\r
     return Status;\r
   }\r
 \r
@@ -1229,7 +1235,7 @@ UsbRootHubResetPort (
   Status = UsbHcClearRootHubPortFeature (Bus, Port, EfiUsbPortReset);\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbRootHubResetPort: failed to clear reset on port %d\n", Port));\r
+    DEBUG (( EFI_D_ERROR, "UsbRootHubResetPort: failed to clear reset on port %d\n", Port));\r
     return Status;\r
   }\r
 \r
@@ -1256,7 +1262,7 @@ UsbRootHubResetPort (
   }\r
 \r
   if (Index == USB_HUB_LOOP) {\r
-    USB_ERROR (("UsbRootHubResetPort: reset not finished in time on port %d\n", Port));\r
+    DEBUG (( EFI_D_ERROR, "UsbRootHubResetPort: reset not finished in time on port %d\n", Port));\r
     return EFI_TIMEOUT;\r
   }\r
 \r
@@ -1268,7 +1274,7 @@ UsbRootHubResetPort (
     // automatically enable the port, we need to enable it manually.\r
     //\r
     if (RootIf->MaxSpeed == EFI_USB_SPEED_HIGH) {\r
-      USB_ERROR (("UsbRootHubResetPort: release low/full speed device (%d) to UHCI\n", Port));\r
+      DEBUG (( EFI_D_ERROR, "UsbRootHubResetPort: release low/full speed device (%d) to UHCI\n", Port));\r
 \r
       UsbRootHubSetPortFeature (RootIf, Port, EfiUsbPortOwner);\r
       return EFI_NOT_FOUND;\r
@@ -1278,7 +1284,7 @@ UsbRootHubResetPort (
       Status = UsbRootHubSetPortFeature (RootIf, Port, EfiUsbPortEnable);\r
 \r
       if (EFI_ERROR (Status)) {\r
-        USB_ERROR (("UsbRootHubResetPort: failed to enable port %d for UHCI\n", Port));\r
+        DEBUG (( EFI_D_ERROR, "UsbRootHubResetPort: failed to enable port %d for UHCI\n", Port));\r
         return Status;\r
       }\r
 \r
@@ -1305,7 +1311,7 @@ UsbRootHubRelease (
   IN USB_INTERFACE        *HubIf\r
   )\r
 {\r
-  USB_DEBUG (("UsbRootHubRelease: root hub released for hub %x\n", HubIf));\r
+  DEBUG (( EFI_D_INFO, "UsbRootHubRelease: root hub released for hub %x\n", HubIf));\r
 \r
   gBS->SetTimer (HubIf->HubNotify, TimerCancel, USB_ROOTHUB_POLL_INTERVAL);\r
   gBS->CloseEvent (HubIf->HubNotify);\r
index 28d73da..d4184fe 100644 (file)
@@ -711,59 +711,3 @@ UsbGetCurrentTpl (
   return Tpl;\r
 }\r
 \r
-\r
-#ifdef EFI_DEBUG\r
-VOID\r
-UsbDebug (\r
-  IN  CHAR8               *Format,\r
-  ...\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  USB's debug output function.\r
-\r
-Arguments:\r
-\r
-  Format  - The format parameters to the print\r
-  ...     - The variable length parameters after format\r
-\r
-Returns:\r
-\r
-  None\r
-\r
---*/\r
-{\r
-  VA_LIST                 Marker;\r
-\r
-  VA_START (Marker, Format);\r
-  DebugVPrint (DEBUG_INFO, Format, Marker);\r
-  VA_END (Marker);\r
-}\r
-\r
-\r
-\r
-/**\r
-  USB's error output function.\r
-\r
-  @param  Format           The format parameters to the print\r
-  @param  ...              The variable length parameters after format\r
-\r
-  @return None\r
-\r
-**/\r
-VOID\r
-UsbError (\r
-  IN  CHAR8               *Format,\r
-  ...\r
-  )\r
-{\r
-  VA_LIST                 Marker;\r
-\r
-  VA_START (Marker, Format);\r
-  DebugVPrint (DEBUG_ERROR, Format, Marker);\r
-  VA_END (Marker);\r
-}\r
-\r
-#endif\r
index 2dafd1c..ee44c6a 100644 (file)
@@ -194,16 +194,6 @@ UsbGetCurrentTpl (
   VOID\r
   );\r
 \r
-//\r
-// USB debug support routines\r
-//\r
-#ifdef EFI_DEBUG\r
-  #define USB_DEBUG(arg)            UsbDebug arg\r
-  #define USB_ERROR(arg)            UsbError arg\r
-#else\r
-  #define USB_DEBUG(arg)\r
-  #define USB_ERROR(arg)\r
-#endif\r
 \r
 VOID\r
 UsbDebug (\r
index 096b10a..608ea9f 100644 (file)
@@ -150,8 +150,7 @@ UsbIoControlTransfer (
 \r
       goto ON_EXIT;\r
     }\r
-\r
-    USB_DEBUG (("UsbIoControlTransfer: configure changed!!! Do NOT use old UsbIo!!!\n"));\r
+    DEBUG ((EFI_D_INFO, "UsbIoControlTransfer: configure changed!!! Do NOT use old UsbIo!!!\n"));\r
 \r
     if (Dev->ActiveConfig != NULL) {\r
       UsbRemoveConfig (Dev);\r
@@ -827,7 +826,7 @@ UsbIoPortReset (
   Status = HubIf->HubApi->ResetPort (HubIf, Dev->ParentPort);\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbIoPortReset: failed to reset hub port %d@hub  %d, %r \n",\r
+    DEBUG (( EFI_D_ERROR, "UsbIoPortReset: failed to reset hub port %d@hub  %d, %r \n",\r
                 Dev->ParentPort, Dev->ParentAddr, Status));\r
 \r
     goto ON_EXIT;\r
@@ -843,7 +842,7 @@ UsbIoPortReset (
   Status        = UsbSetAddress (Dev, Address);\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbIoPortReset: failed to set address for device %d - %r\n",\r
+    DEBUG (( EFI_D_ERROR, "UsbIoPortReset: failed to set address for device %d - %r\n",\r
                 Address, Status));\r
 \r
     goto ON_EXIT;\r
@@ -859,7 +858,7 @@ UsbIoPortReset (
     Status = UsbSetConfig (Dev, Dev->ActiveConfig->Desc.ConfigurationValue);\r
 \r
     if (EFI_ERROR (Status)) {\r
-      USB_ERROR (("UsbIoPortReset: failed to set configure for device %d - %r\n",\r
+      DEBUG (( EFI_D_ERROR, "UsbIoPortReset: failed to set configure for device %d - %r\n",\r
                   Address, Status));\r
     }\r
   }\r
@@ -1105,7 +1104,7 @@ UsbBusControllerDriverStart (
                   );\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbBusStart: Failed to open device path %r\n", Status));\r
+    DEBUG (( EFI_D_ERROR, "UsbBusStart: Failed to open device path %r\n", Status));\r
 \r
     gBS->FreePool (UsbBus);\r
     return Status;\r
@@ -1138,7 +1137,7 @@ UsbBusControllerDriverStart (
                    );\r
 \r
   if (EFI_ERROR (Status) && EFI_ERROR (Status2)) {\r
-    USB_ERROR (("UsbBusStart: Failed to open USB_HC/USB2_HC %r\n", Status));\r
+    DEBUG (( EFI_D_ERROR, "UsbBusStart: Failed to open USB_HC/USB2_HC %r\n", Status));\r
 \r
     Status = EFI_DEVICE_ERROR;\r
     goto CLOSE_HC;\r
@@ -1169,10 +1168,14 @@ UsbBusControllerDriverStart (
   RootIf->Device          = RootHub;\r
   RootIf->DevicePath      = UsbBus->DevicePath;\r
 \r
+  \r
+  UsbHcReset (UsbBus, EFI_USB_HC_RESET_GLOBAL);\r
+  UsbHcSetState (UsbBus, EfiUsbHcStateOperational);\r
+\r
   Status                  = mUsbRootHubApi.Init (RootIf);\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbBusStart: Failed to init root hub %r\n", Status));\r
+    DEBUG (( EFI_D_ERROR, "UsbBusStart: Failed to init root hub %r\n", Status));\r
     goto FREE_ROOTHUB;\r
   }\r
 \r
@@ -1189,16 +1192,14 @@ UsbBusControllerDriverStart (
                   );\r
 \r
   if (EFI_ERROR (Status)) {\r
-    USB_ERROR (("UsbBusStart: Failed to install bus protocol %r\n", Status));\r
+    DEBUG (( EFI_D_ERROR, "UsbBusStart: Failed to install bus protocol %r\n", Status));\r
 \r
     mUsbRootHubApi.Release (RootIf);\r
     goto FREE_ROOTHUB;\r
   }\r
 \r
-  UsbHcReset (UsbBus, EFI_USB_HC_RESET_GLOBAL);\r
-  UsbHcSetState (UsbBus, EfiUsbHcStateOperational);\r
 \r
-  USB_DEBUG (("UsbBusStart: usb bus started on %x, root hub %x\n", Controller, RootIf));\r
+  DEBUG (( EFI_D_INFO, "UsbBusStart: usb bus started on %x, root hub %x\n", Controller, RootIf));\r
   return EFI_SUCCESS;\r
 \r
 FREE_ROOTHUB:\r
@@ -1233,7 +1234,7 @@ CLOSE_HC:
 \r
   gBS->FreePool (UsbBus);\r
 \r
-  USB_ERROR (("UsbBusStart: Failed to start bus driver %r\n", Status));\r
+  DEBUG (( EFI_D_ERROR, "UsbBusStart: Failed to start bus driver %r\n", Status));\r
   return Status;\r
 }\r
 \r
@@ -1306,7 +1307,7 @@ UsbBusControllerDriverStop (
     return EFI_SUCCESS;\r
   }\r
 \r
-  USB_DEBUG (("UsbBusStop: usb bus stopped on %x\n", Controller));\r
+  DEBUG (( EFI_D_INFO, "UsbBusStop: usb bus stopped on %x\n", Controller));\r
 \r
   //\r
   // Locate USB_BUS for the current host controller\r