Greg: Here's another bug you can chalk up to the evils of "container_of".
After fixing this, with appropriate debugging messages added I saw that during an APM suspend, the UHCI driver was suspended _before_ the devices on its bus. Is this a known problem? If it isn't, could you forward this to the appropriate maintainer? Alan Stern ===== drivers/usb/core/usb.c 1.231 vs edited ===== --- 1.231/drivers/usb/core/usb.c Mon Sep 8 12:21:51 2003 +++ edited/drivers/usb/core/usb.c Thu Sep 18 16:50:12 2003 @@ -1424,14 +1424,14 @@ struct usb_interface *intf; struct usb_driver *driver; - if ((dev->driver == &usb_generic_driver) || + if (!dev->driver || (dev->driver == &usb_generic_driver) || (dev->driver_data == &usb_generic_driver_data)) return 0; intf = to_usb_interface(dev); driver = to_usb_driver(dev->driver); - if (driver && driver->suspend) + if (driver->suspend) return driver->suspend(intf, state); return 0; } @@ -1441,14 +1441,14 @@ struct usb_interface *intf; struct usb_driver *driver; - if ((dev->driver == &usb_generic_driver) || + if (!dev->driver || (dev->driver == &usb_generic_driver) || (dev->driver_data == &usb_generic_driver_data)) return 0; intf = to_usb_interface(dev); driver = to_usb_driver(dev->driver); - if (driver && driver->resume) + if (driver->resume) return driver->resume(intf); return 0; } ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel