Re: linux-next: manual merge of the usb tree with the usb.current tree

From: Greg KH
Date: Sun May 28 2023 - 10:28:17 EST


On Mon, May 15, 2023 at 02:01:08PM +0300, Roger Quadros wrote:
> Hi Stephen,
>
> On 15/05/2023 05:35, Stephen Rothwell wrote:
> > Hi all,
> >
> > Today's linux-next merge of the usb tree got a conflict in:
> >
> > drivers/usb/dwc3/gadget.c
> >
> > between commit:
> >
> > c8540870af4c ("usb: dwc3: gadget: Improve dwc3_gadget_suspend() and dwc3_gadget_resume()")
> >
> > from the usb.current tree and commit:
> >
> > 813f44d57e19 ("usb: dwc3: gadget: Bail out in pullup if soft reset timeout happens")
> >
> > from the usb tree.
> >
> > I fixed it up (I think - see below) and can carry the fix as
> > necessary. This is now fixed as far as linux-next is concerned, but any
> > non trivial conflicts should be mentioned to your upstream maintainer
> > when your tree is submitted for merging. You may also want to consider
> > cooperating with the maintainer of the conflicting tree to minimise any
> > particularly complex conflicts.
> >
>
> > diff --cc drivers/usb/dwc3/gadget.c
> > index d831f5acf7b5,5965796bc5d5..000000000000
> > --- a/drivers/usb/dwc3/gadget.c
> > +++ b/drivers/usb/dwc3/gadget.c
> > @@@ -2700,21 -2699,6 +2700,26 @@@ static int dwc3_gadget_soft_disconnect(
> > return ret;
> > }
> >
> > +static int dwc3_gadget_soft_connect(struct dwc3 *dwc)
> > +{
> > ++ int ret;
> > ++
> > + /*
> > + * In the Synopsys DWC_usb31 1.90a programming guide section
> > + * 4.1.9, it specifies that for a reconnect after a
> > + * device-initiated disconnect requires a core soft reset
> > + * (DCTL.CSftRst) before enabling the run/stop bit.
> > + */
> > + dwc3_core_soft_reset(dwc);
>
> Please drop above call to dwc3_core_soft_reset().
>
> > ++ ret = dwc3_core_soft_reset(dwc);
> > ++ if (ret)
> > ++ return ret;
> > +
> > + dwc3_event_buffers_setup(dwc);
> > + __dwc3_gadget_start(dwc);
> > + return dwc3_gadget_run_stop(dwc, true);
> > +}
> > +
> > static int dwc3_gadget_pullup(struct usb_gadget *g, int is_on)
> > {
> > struct dwc3 *dwc = gadget_to_dwc(g);
>

Can you verify I got this right in my usb-next branch now?

thanks,

greg k-h