On Wed, Apr 5, 2023 at 11:29 PM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > On Thu, Apr 06, 2023 at 06:19:04AM +0000, Badhri Jagan Sridharan wrote: > > usb_udc_connect_control does not check to see if the udc > > has already been started. This causes gadget->ops->pullup > > to be called through usb_gadget_connect when invoked > > from usb_udc_vbus_handler even before usb_gadget_udc_start > > is called. Guard this by checking for udc->started in > > usb_udc_connect_control before invoking usb_gadget_connect. > > > > Guarding udc_connect_control, udc->started and udc->vbus > > with its own mutex as usb_udc_connect_control_locked > > can be simulataneously invoked from different code paths. > > > > Cc: stable@xxxxxxxxxxxxxxx > > > > Signed-off-by: Badhri Jagan Sridharan <badhri@xxxxxxxxxx> > > Fixes: 628ef0d273a6 ("usb: udc: add usb_udc_vbus_handler") > > --- > > drivers/usb/gadget/udc/core.c | 20 ++++++++++++++++---- > > 1 file changed, 16 insertions(+), 4 deletions(-) > > Why resend v1 when it's been reviewed already? I just now sent a note. Apologies resent V1 again instead of V2. Have sent V2 for real. Sorry for the confusion. > > confused, > > greg k-h