On Wed, 30 Dec 2009, Borislav Petkov wrote: > On Tue, Dec 29, 2009 at 11:13:40AM -0500, Alan Stern wrote: > > This time, turn off the various self-test and debugging settings in the > > configuration, but turn on CONFIG_USB_DEBUG. > > new config attached. You don't have to attach your config. Just get rid of all the unnecessary debugging output, like the "uevent" lines and the "Task ... is on cpu X" lines. You might want to enable CONFIG_PRINTK_TIME, however, because it helps with identifying individual lines in the log. > > The situation described in your bug report should not be possible, as > > you can see by reading create_intf_ep_devs() in > > drivers/usb/core/message.c. The first time the device file is created, > > intf->ep_devs_created gets set to 1. Thus the second time through, the > > function should return immediately. You might want to add some > > debugging printk's of your own to that function to figure out what's > > going wrong. > > debug patch: > > > diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c > index 1b99484..6fd547b 100644 > --- a/drivers/usb/core/message.c > +++ b/drivers/usb/core/message.c > @@ -1060,6 +1060,9 @@ static int create_intf_ep_devs(struct usb_interface *intf) > struct usb_host_interface *alt = intf->cur_altsetting; > int i; > > + pr_err("%s: ->ep_devs_created: %d, ->unregistering: %d\n", > + __func__, intf->ep_devs_created, intf->unregistering); > + > if (intf->ep_devs_created || intf->unregistering) > return 0; It would have been a little better to use dev_err() instead of pr_err() so that we knew which interface the message referred to. Also, you might want to add a similar message to remove_intf_ep_devs() just below, because that's the only place where intf->ep_devs_created gets set back to 0. > however, both ->ep_devs_created and ->unregistering are 0 during/after > resume. See attached dmesg. But intf->ep_devs_created was 1 before the resume. You need to figure out where it gets set back to 0. Alan Stern -- 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