Modified: trunk/reactos/drivers/usb/usbhub/usbhub.c
Modified: trunk/reactos/drivers/usb/usbport/hcd.h
Modified: trunk/reactos/drivers/usb/usbport/hub.c
Modified: trunk/reactos/drivers/usb/usbport/usb.c
--- trunk/reactos/drivers/usb/usbhub/usbhub.c 2005-09-11 13:55:18 UTC (rev 17799)
+++ trunk/reactos/drivers/usb/usbhub/usbhub.c 2005-09-11 13:55:23 UTC (rev 17800)
@@ -99,6 +99,7 @@
IoDeleteDevice(Fdo);
return Status;
}
+ DeviceExtension->dev->dev.dev_ext = Pdo;
DeviceExtension->IsFDO = TRUE;
Fdo->Flags |= DO_POWER_PAGABLE;
--- trunk/reactos/drivers/usb/usbport/hcd.h 2005-09-11 13:55:18 UTC (rev 17799)
+++ trunk/reactos/drivers/usb/usbport/hcd.h 2005-09-11 13:55:23 UTC (rev 17800)
@@ -453,7 +453,14 @@
static inline void usbfs_add_bus(struct usb_bus *bus) {}
static inline void usbfs_remove_bus(struct usb_bus *bus) {}
-static inline void usbfs_add_device(struct usb_device *dev) {}
+static inline void usbfs_add_device(struct usb_device *dev)
+{
+ if (dev->parent)
+ {
+ PDEVICE_OBJECT Pdo = (PDEVICE_OBJECT)dev->parent->dev.dev_ext;
+ IoInvalidateDeviceRelations(Pdo, BusRelations);
+ }
+}
static inline void usbfs_remove_device(struct usb_device *dev) {}
static inline void usbfs_update_special (void) {}
--- trunk/reactos/drivers/usb/usbport/hub.c 2005-09-11 13:55:18 UTC (rev 17799)
+++ trunk/reactos/drivers/usb/usbport/hub.c 2005-09-11 13:55:23 UTC (rev 17800)
@@ -1053,6 +1053,7 @@
/* Run it through the hoops (find a driver, etc) */
if (!usb_new_device(dev, &hub->dev)) {
hub->children[port] = dev;
+ usbfs_add_device(dev);
goto done;
}
--- trunk/reactos/drivers/usb/usbport/usb.c 2005-09-11 13:55:18 UTC (rev 17799)
+++ trunk/reactos/drivers/usb/usbport/usb.c 2005-09-11 13:55:23 UTC (rev 17800)
@@ -1259,7 +1259,7 @@
usb_create_driverfs_intf_files (interface);
}
/* add a /proc/bus/usb entry */
- usbfs_add_device(dev);
+ //usbfs_add_device(dev);
return 0;
fail: