On Tue, Dec 29, 2020 at 01:55:07PM +0800, Peter Chen wrote: > On Tue, Dec 1, 2020 at 2:46 PM Peter Chen <hzpeterchen@xxxxxxxxx> wrote: > > > On Tue, Oct 13, 2020 at 8:01 PM Peter Chen <peter.chen@xxxxxxx> wrote: > > > > > > The pullup does not need to be enabled at below situations: > > > - For platforms which the hardware pullup starts after setting > > > register even they do not see the VBUS. If the pullup is always > > > enabled for these platforms, it will consume more power and > > > break the USB IF compliance tests [1]. > > > - For platforms which need to do BC 1.2 charger detection after > > > seeing the VBUS. Pullup D+ will break the charger detection > > > flow. > > > - For platforms which the system suspend is allowed when the > > > connection with host is there but the bus is not at suspend. > > > For these platforms, it is better to disable pullup when > > > entering the system suspend otherwise the host may confuse > > > the device behavior after controller is in low power mode. > > > Disable pullup is considered as a disconnection event from > > > host side. > > > > > > [1] USB-IF Full and Low Speed Compliance Test Procedure > > > F Back-voltage Testing > > > Section 7.2.1 of the USB specification requires that no device > > > shall supply (source) current on VBUS at its upstream facing > > > port at any time. From VBUS on its upstream facing port, > > > a device may only draw (sink) current. They may not provide power > > > to the pull-up resistor on D+/D- unless VBUS is present (see > > > Section 7.1.5). > > > > > > Signed-off-by: Peter Chen <peter.chen@xxxxxxx> > > > --- > > > drivers/usb/gadget/udc/core.c | 3 +-- > > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > > > diff --git a/drivers/usb/gadget/udc/core.c > > b/drivers/usb/gadget/udc/core.c > > > index debf54205d22..215ecbe8b692 100644 > > > --- a/drivers/usb/gadget/udc/core.c > > > +++ b/drivers/usb/gadget/udc/core.c > > > @@ -659,8 +659,7 @@ EXPORT_SYMBOL_GPL(usb_gadget_vbus_disconnect); > > > * > > > * Enables the D+ (or potentially D-) pullup. The host will start > > > * enumerating this gadget when the pullup is active and a VBUS session > > > - * is active (the link is powered). This pullup is always enabled > > unless > > > - * usb_gadget_disconnect() has been used to disable it. > > > + * is active (the link is powered). > > > * > > > * Returns zero on success, else negative errno. > > > */ > > > -- > > > 2.17.1 > > > > > > > Ping... > > > > Peter > > > > Greg, would you please help to catch it up? Can you resend the patches please? Digging it out from a response like this is a bit difficult :) thanks, greg k-h