Re: usb3.0 set configuration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

(please configure your mailer to send text/plain emails, also keep
linux-usb@xxxxxxxxxxxxxxx in Cc)

On Fri, Jan 06, 2012 at 05:21:42PM +0800, Yu Xu wrote:
> For the USB2.0, when usb device driver get SET_CONFIGURATION request,
> it will call usb_ep_queue() after set_config. But for usb3.0, it's no
> need to send back the zero length packet to usb host. Is there the
> plan to fix it?

you completely misunderstood the way USB works, aparently. That ZLP
after USB_REQ_SET_CONFIGURATION is nothing less than the _mandatory_
Status Phase of the Control Transfer.

USB3 Specification 4.4.5 clearly states "Control transfers must adhere
to the same request definitions described in the Universal Serial Bus
Specification, Revision 2.0."

If you look into Control Transfers definition on USB2 Specification, you
will learn from 8.5.3 that "Control transfers minimally have two
transaction stages: Setup and Status. A control transfer may optionally
contain a Data stage between the Setup and Status stages."

What determines if we have the optional Data Stage is the wLength field
of the Control Request.

If you go as far as to look into both USB2 and USB3 specifications for
the definition of a Set Configuration request, you learn from section
9.4.7 on *both* specifications that the control request for a Set
Configuration is exactly the same.

In no way USB3 specification mentions the possibility of a control
transfer without a Status Stage. Heck, it just points us back to the
USB2 specification.

I don't know where did you get this understanding from, but there's
absolutely nothing to be fixed on the Gadget Framework wrt your query.

-- 
balbi

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux