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

Reply via email to