[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <874kbe6pib.fsf@kernel.org>
Date: Wed, 25 Aug 2021 08:51:08 +0300
From: Felipe Balbi <balbi@...nel.org>
To: Wesley Cheng <wcheng@...eaurora.org>
Cc: gregkh@...uxfoundation.org, Thinh.Nguyen@...opsys.com,
linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
jackp@...eaurora.org, stable@...r.kernel.org
Subject: Re: [PATCH v5] usb: dwc3: gadget: Stop EP0 transfers during pullup
disable
Wesley Cheng <wcheng@...eaurora.org> writes:
> During a USB cable disconnect, or soft disconnect scenario, a pending
> SETUP transaction may not be completed, leading to the following
> error:
>
> dwc3 a600000.dwc3: timed out waiting for SETUP phase
>
> If this occurs, then the entire pullup disable routine is skipped and
> proper cleanup and halting of the controller does not complete.
>
> Instead of returning an error (which is ignored from the UDC
> perspective), allow the pullup disable routine to continue, which
> will also handle disabling of EP0/1. This will end any active
> transfers as well. Ensure to clear any delayed_status also, as the
> timeout could happen within the STATUS stage.
>
> Cc: <stable@...r.kernel.org>
> Fixes: bb0147364850 ("usb: dwc3: gadget: don't clear RUN/STOP when it's invalid to do so")
> Reviewed-by: Thinh Nguyen <Thinh.Nguyen@...opsys.com>
> Signed-off-by: Wesley Cheng <wcheng@...eaurora.org>
Acked-by: Felipe Balbi <balbi@...nel.org>
--
balbi
Powered by blists - more mailing lists