xHCI:
* Fix value returned by IRP_MN_QUERY_CAPABILITIES and
IOCTL_INTERNAL_USB_GET_ROOT_USB_DEVICE
* Remove debug output
USBHUB:
* Don't enumerate too much children. Display informations about them
Modified: trunk/reactos/drivers/usb/miniport/common/misc.c
Modified: trunk/reactos/drivers/usb/miniport/common/pdo.c
Modified: trunk/reactos/drivers/usb/usbhub/fdo.c
_____
Modified: trunk/reactos/drivers/usb/miniport/common/misc.c
--- trunk/reactos/drivers/usb/miniport/common/misc.c 2005-09-10
23:01:56 UTC (rev 17790)
+++ trunk/reactos/drivers/usb/miniport/common/misc.c 2005-09-10
23:50:28 UTC (rev 17791)
@@ -87,13 +87,9 @@
Source = va_arg(args, PCSZ);
while (Source != NULL)
{
- DPRINT1("Source = %s\n", Source);
RtlInitAnsiString(&AnsiString, Source);
- DPRINT1("AnsiString = %Z\n", &AnsiString);
- DPRINT1("NLS_MB_CODE_PAGE_TAG = %lu\n",
(ULONG)NLS_MB_CODE_PAGE_TAG);
DestinationSize +=
RtlAnsiStringToUnicodeSize(&AnsiString)
+ sizeof(WCHAR) /* final NULL */;
- DPRINT1("DestinationSize = %lu\n", DestinationSize);
Source = va_arg(args, PCSZ);
}
va_end(args);
_____
Modified: trunk/reactos/drivers/usb/miniport/common/pdo.c
--- trunk/reactos/drivers/usb/miniport/common/pdo.c 2005-09-10
23:01:56 UTC (rev 17790)
+++ trunk/reactos/drivers/usb/miniport/common/pdo.c 2005-09-10
23:50:28 UTC (rev 17791)
@@ -50,7 +50,7 @@
DeviceExtension =
(PUSBMP_DEVICE_EXTENSION)DeviceExtension->FunctionalDeviceObject->Device
Extension;
pRootHubPointer =
(PVOID*)Irp->AssociatedIrp.SystemBuffer;
- *pRootHubPointer =
(PVOID)DeviceExtension->pdev->bus; /* struct usb_device* */
+ *pRootHubPointer = ((struct
usb_hcd*)DeviceExtension->pdev->data)->self.root_hub;
Information = sizeof(PVOID);
Status = STATUS_SUCCESS;
}
@@ -80,7 +80,7 @@
ULONG IdType;
UNICODE_STRING SourceString;
UNICODE_STRING String;
- NTSTATUS Status;
+ NTSTATUS Status = STATUS_SUCCESS;
IdType =
IoGetCurrentIrpStackLocation(Irp)->Parameters.QueryId.IdType;
DeviceExtension =
(PUSBMP_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
@@ -96,13 +96,20 @@
}
case BusQueryHardwareIDs:
{
+ //CHAR Buffer[2][40];
DPRINT("USBMP: IRP_MJ_PNP / IRP_MN_QUERY_ID /
BusQueryHardwareIDs\n");
- /* FIXME: Should return
- USB\ROOT_HUB&VID????&PID????&REV????
- USB\ROOT_HUB&VID????&PID????
- USB\ROOT_HUB
- */
- UsbMpInitMultiSzString(&SourceString,
"USB\\ROOT_HUB", NULL);
+
+ /*FIXME: sprintf(Buffer[0],
"USB\\VID%04X&PID%04X&REV%04X",
+ VENDOR,
+ PRODUCT,
+ REV);
+ sprintf(Buffer[1], "USB\\VID%04X&PID%04X",
+ VENDOR,
+ PRODUCT);
+ Status = UsbMpInitMultiSzString(
+ &SourceString,
+ Buffer[0], Buffer[1], "USB\\ROOT_HUB",
NULL);*/
+ Status = UsbMpInitMultiSzString(&SourceString,
"USB\\ROOT_HUB", NULL);
break;
}
case BusQueryCompatibleIDs:
@@ -121,11 +128,14 @@
return STATUS_NOT_SUPPORTED;
}
- Status = UsbMpDuplicateUnicodeString(
- &String,
- &SourceString,
- PagedPool);
- *Information = (ULONG_PTR)String.Buffer;
+ if (NT_SUCCESS(Status))
+ {
+ Status = UsbMpDuplicateUnicodeString(
+ &String,
+ &SourceString,
+ PagedPool);
+ *Information = (ULONG_PTR)String.Buffer;
+ }
return Status;
}
@@ -184,12 +194,12 @@
/* FIXME: capabilities can change with connected
device */
DeviceCapabilities->LockSupported = FALSE;
DeviceCapabilities->EjectSupported = FALSE;
- DeviceCapabilities->Removable = TRUE;
+ DeviceCapabilities->Removable = FALSE;
DeviceCapabilities->DockDevice = FALSE;
DeviceCapabilities->UniqueID = FALSE;
- DeviceCapabilities->SilentInstall = FALSE;
- DeviceCapabilities->RawDeviceOK = TRUE;
- DeviceCapabilities->SurpriseRemovalOK = TRUE;
+ DeviceCapabilities->SilentInstall = TRUE;
+ DeviceCapabilities->RawDeviceOK = FALSE;
+ DeviceCapabilities->SurpriseRemovalOK = FALSE;
DeviceCapabilities->HardwareDisabled = FALSE; /*
FIXME */
//DeviceCapabilities->NoDisplayInUI = FALSE; /*
FIXME */
DeviceCapabilities->DeviceState[0] =
PowerDeviceD0; /* FIXME */
_____
Modified: trunk/reactos/drivers/usb/usbhub/fdo.c
--- trunk/reactos/drivers/usb/usbhub/fdo.c 2005-09-10 23:01:56 UTC
(rev 17790)
+++ trunk/reactos/drivers/usb/usbhub/fdo.c 2005-09-10 23:50:28 UTC
(rev 17791)
@@ -66,7 +66,7 @@
dev = DeviceExtension->dev;
/* Create PDOs that are missing */
- for (i = 0; i < USB_MAXCHILDREN; i++)
+ for (i = 0; i < dev->maxchild; i++)
{
if (dev->children[i] == NULL)
{
@@ -110,7 +110,13 @@
if (!NT_SUCCESS(Status))
goto ByeBye;
-
+ DPRINT1("child #%lu: USB\\Vid_%04x&Pid_%04x&Rev_%04x
(class %x:%x)\n",
+ i,
+ PdoExtension->dev->descriptor.idVendor,
+ PdoExtension->dev->descriptor.idProduct,
+ PdoExtension->dev->descriptor.bcdDevice,
+ PdoExtension->dev->descriptor.bDeviceClass,
+ PdoExtension->dev->descriptor.bDeviceSubClass);
sprintf(Buffer[0], "USB\\Vid_%04x&Pid_%04x&Rev_%04x",
PdoExtension->dev->descriptor.idVendor,
PdoExtension->dev->descriptor.idProduct,