On Wed, 5 May 2010, Rob Duncan wrote: > > On May 5, 2010, at 9:00 AM, Alan Stern wrote: > > > You will have to do some debugging to find out why your driver isn't > > getting suspended. > > I enabled VERBOSE_DEBUG in driver.c and I get the following in the log when I attach my device. > > (The messages saying "Skipping management interface", "Using management interface interrupt endpoints", and "Taking interrupt endpoint from management interface" are from a hack I have in usb-serial.c). > May 5 11:34:00 localhost kernel: usb 3-3: usb_autoresume_device: cnt 1 -> 1 > May 5 11:34:00 localhost kernel: usb 3-3: usb_autosuspend_device: cnt 0 -> -16 These -EBUSY error codes indicate that the usage_count for one of the interfaces is nonzero. (Well, it could be something else, like the child_count, but most likely it's the usage_count.) Add some debugging statements to the non-is_usb_device cases in usb_runtime_*(); you may find out which and why. 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