On Tue, Jun 3, 2014 at 5:21 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > On Tue, 3 Jun 2014, Pantelis Koukousoulas wrote: > That's the same mistake as before -- struct dummy_hcd _isn't_ shared. > Only struct dummy is shared. Oops! Indeed it turns out I was confused about the structs as well :S > The current version of xhci-pci prevents any suspends from occurring > between the initialization of the two hcds; see commit bcffae7708eb. > You might need to make dummy-hcd do the same thing. I noticed that although xhci-pci does this, xhci-plat doesn't, was this on purpose? In any case I think this is a separate issue and not as serious as I thought. So, in the end dummy_start_ss() can be replaced by just adding an if (usb_is_primary_hcd(hcd)) spin_lock_init(&dum_hcd->dum->lock); near the top of dummy_start() and if(!usb_is_primary_hcd(hcd)) { dum_hcd->stream_en_ep = 0; return 0; } near the bottom, right? (so that the device file will only be created once). If this is correct then I can submit a patch to do it. Thanks a lot for the comments! Regards, Pantelis -- 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