Messages in this thread | | | From | Baolin Wang <> | Date | Tue, 18 Oct 2016 10:40:39 +0800 | Subject | Re: [PATCH v4] usb: dwc3: Wait for control tranfer completed when stopping gadget |
| |
Hi,
On 17 October 2016 at 19:53, Felipe Balbi <balbi@kernel.org> wrote: > > Hi, > > Baolin Wang <baolin.wang@linaro.org> writes: >>> Baolin Wang <baolin.wang@linaro.org> writes: >>>> When we change the USB function with configfs dynamically, we possibly met this >>>> situation: one core is doing the control transfer, another core is trying to >>>> unregister the USB gadget from userspace, we must wait for completing this >>>> control tranfer, or it will hang the controller to set the DEVCTRLHLT flag. >>>> >>>> Signed-off-by: Baolin Wang <baolin.wang@linaro.org> >>> >>> Can you make sure this still works? >> >> With applying this patch, It can work well on my platform, but I have >> some worries about the risk of accessing 'dwc->ep0state' without lock >> protection in dwc3_gadget_pullup() function. > > hmm, I might be missing something, but I think there's no risk here. If > anything, a wmb() is probably enough before reading ep0state. No?
OK, I agree with you and I think a wmb() is not useful here.
-- Baolin.wang Best Regards
| |