Re: [PATCH] usb: gadget: composite: Allow bMaxPower=0 if self-powered

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

 



Jack Pham <jackp@xxxxxxxxxxxxxx> writes:

> Currently the composite driver encodes the MaxPower field of
> the configuration descriptor by reading the c->MaxPower of the
> usb_configuration only if it is non-zero, otherwise it falls back
> to using the value hard-coded in CONFIG_USB_GADGET_VBUS_DRAW.
> However, there are cases when a configuration must explicitly set
> bMaxPower to 0, particularly if its bmAttributes also has the
> Self-Powered bit set, which is a valid combination.
>
> This is specifically called out in the USB PD specification section
> 9.1, in which a PDUSB device "shall report zero in the bMaxPower
> field after negotiating a mutually agreeable Contract", and also
> verified by the USB Type-C Functional Test TD.4.10.2 Sink Power
> Precedence Test.
>
> The fix allows the c->MaxPower to be used for encoding the bMaxPower
> even if it is 0, if the self-powered bit is also set.  An example
> usage of this would be for a ConfigFS gadget to be dynamically
> updated by userspace when the Type-C connection is determined to be
> operating in Power Delivery mode.
>
> Co-developed-by: Ronak Vijay Raheja <rraheja@xxxxxxxxxxxxxx>
> Signed-off-by: Ronak Vijay Raheja <rraheja@xxxxxxxxxxxxxx>
> Signed-off-by: Jack Pham <jackp@xxxxxxxxxxxxxx>

Nice catch!

Acked-by: Felipe Balbi <balbi@xxxxxxxxxx>

-- 
balbi

Attachment: signature.asc
Description: PGP 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