Hi, On Mon, May 23, 2011 at 10:20:45AM +0300, Tanya Brokhman wrote: > > > diff --git a/drivers/usb/gadget/dummy_hcd.c > > > b/drivers/usb/gadget/dummy_hcd.c index bf7981d..c2731d3 100644 > > > --- a/drivers/usb/gadget/dummy_hcd.c > > > +++ b/drivers/usb/gadget/dummy_hcd.c > > > @@ -70,6 +70,15 @@ MODULE_DESCRIPTION (DRIVER_DESC); MODULE_AUTHOR > > > ("David Brownell"); MODULE_LICENSE ("GPL"); > > > > > > +struct dummy_hcd_module_parameters { > > > + bool is_super_speed; > > > +}; > > > + > > > +static struct dummy_hcd_module_parameters mod_data = { > > > + .is_super_speed = false > > > +}; > > > +module_param_named(is_super_speed, mod_data.is_super_speed, bool, > > > +S_IRUGO); MODULE_PARM_DESC(is_super_speed, "true to simulate > > > +SuperSpeed connection"); > > > > you shouldn't need this. You should always enable SuperSpeed for this > > driver. > > You mean I don't need the module parameter? IMO it's the best way to enable > HS connection. If driver->speed=USB_SPEED_SUPER than dummy_hcd will try to > enumerate the device on the SS root hub and if the gadget didn't provide SS > descriptors - it will fail. Just as it happened before. Finding out from then it should hand the device over to the hs_hcd ;-) Meaning it would disconnect the device, switch to hs_hcd and reconnect :-) > dummy_hcd that the enumeration failed is very complicated (if even possible) > and I'm not sure that is the right thing to do... If you connect a real > device over SS port to xHCI and the device doesn't provide SS descriptors - > the enumeration fails and it's ok. But if you connect the same device to a > HS port - it should work properly. This is what I tried to simulate with > this parameter. it doesn't just fails, it gives the device over to the shared_hcd :-) -- balbi
Attachment:
signature.asc
Description: Digital signature