On Tue, 23 Aug 2016, Ritesh Raj Sarraf wrote: > This one is after a fresh boot. > > T: Bus=02 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 9 Spd=480 MxCh= 0 > D: Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs= 1 > P: Vendor=0bda ProdID=0129 Rev=39.60 > S: Manufacturer=Generic > S: Product=USB2.0-CRW > S: SerialNumber=20100201396000000 > C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA > I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=06 Prot=50 Driver=rtsx_usb > E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms > E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms > E: Ad=83(I) Atr=03(Int.) MxPS= 3 Ivl=64ms > > > Here it got enumerated as Bus 02. Okay, good. The "Driver=rtsx_usb" is what I wanted to see. Something funny is going on with that driver -- it claims to support autosuspend but it doesn't ever call usb_mark_last_busy() or usb_autopm_get_interface(). In the meantime, can you post the output from "lsmod"? Also, I'd like to see the output from the following (do this before the device disappears): cd /sys/bus/pci/devices/0000:00:14.0/usb?/usb?-4/ ls -lR Finally, you can try applying this patch. It should prevent the constant runtime suspend & resume cycling, but it is not the proper solution to your problem. And it may not prevent the occasional spontaneous disconnect. Alan Stern Index: usb-4.x/drivers/mfd/rtsx_usb.c =================================================================== --- usb-4.x.orig/drivers/mfd/rtsx_usb.c +++ usb-4.x/drivers/mfd/rtsx_usb.c @@ -780,7 +780,6 @@ static struct usb_driver rtsx_usb_driver .pre_reset = rtsx_usb_pre_reset, .post_reset = rtsx_usb_post_reset, .id_table = rtsx_usb_usb_ids, - .supports_autosuspend = 1, .soft_unbind = 1, }; -- 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