On Tue, Jun 3, 2014 at 5:21 PM, Alan Stern <[email protected]> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html