[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAMz4kuLwk3YC83kD-sqeSW9ROPb6qJDxBXTf9eE_UK9rrUGKEg@mail.gmail.com>
Date: Tue, 18 Oct 2016 10:40:39 +0800
From: Baolin Wang <baolin.wang@...aro.org>
To: Felipe Balbi <balbi@...nel.org>
Cc: Greg KH <gregkh@...uxfoundation.org>,
Mark Brown <broonie@...nel.org>,
USB <linux-usb@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>
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@...nel.org> wrote:
>
> Hi,
>
> Baolin Wang <baolin.wang@...aro.org> writes:
>>> Baolin Wang <baolin.wang@...aro.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@...aro.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
Powered by blists - more mailing lists