On Tue, 7 Jul 2009, Oliver Neukum wrote: > Am Dienstag, 7. Juli 2009 11:13:01 schrieb Jiri Kosina: > > [ adding linux-usb to CC ] > > > > On Sun, 5 Jul 2009, Michael S. Zick wrote: > > > Anyone with suggestions about this one? > > Looks like we should test for presence before we switch off > autosuspend for khubd. Please test this diagnostic patch if this is > repeatable. That patch won't fix the problem. This issue is not that hdev is NULL; the problem is that the hub driver isn't bound to hdev and as a result, the hdev_to_hub routine fails. This patch may work better. Alan Stern Index: usb-2.6/drivers/usb/core/hub.c =================================================================== --- usb-2.6.orig/drivers/usb/core/hub.c +++ usb-2.6/drivers/usb/core/hub.c @@ -163,8 +163,10 @@ static inline char *portspeed(int portst } /* Note that hdev or one of its children must be locked! */ -static inline struct usb_hub *hdev_to_hub(struct usb_device *hdev) +static struct usb_hub *hdev_to_hub(struct usb_device *hdev) { + if (!hdev || !hdev->actconfig) + return NULL; return usb_get_intfdata(hdev->actconfig->interface[0]); } @@ -385,8 +387,10 @@ static void kick_khubd(struct usb_hub *h void usb_kick_khubd(struct usb_device *hdev) { - /* FIXME: What if hdev isn't bound to the hub driver? */ - kick_khubd(hdev_to_hub(hdev)); + struct usb_hub *hub = hdev_to_hub(hdev); + + if (hub) + kick_khubd(hub); } -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html