From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Mon, 6 Apr 2020 08:35:04 -0400 Subject: [PATCH] usb: Keep async schedule running only across mass storage xfers In-Reply-To: <20200406122944.105432-1-marek.vasut+renesas@gmail.com> References: <20200406122944.105432-1-marek.vasut+renesas@gmail.com> Message-ID: <20200406123504.GL27133@bill-the-cat> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Mon, Apr 06, 2020 at 02:29:44PM +0200, Marek Vasut wrote: > Rather than keeping the asynchronous schedule running always, keep it > running only across USB mass storage transfers for now, as it seems > that keeping it running all the time interferes with certain control > transfers during device enumeration. > > Note that running the async schedule all the time should not be an > issue, especially on EHCI HCD, as that one implements most of the > transfers using async schedule. > > Note that we have usb_disable_asynch(), which however is utterly broken. > The usb_disable_asynch() blocks the USB core from doing async transfers > by setting a global flag. The async schedule should however be disabled > per USB controller. Moreover, setting a global flag does not prevent the > controller from using the async schedule, which e.g. the EHCI HCD does. > > This patch implements additional callback to the controller, which > permits it to lock the async schedule and keep it running across > multiple transfers. Once the schedule is unlocked, it must also be > disabled. This thus prevents the async schedule from running outside > of the USB mass storage transfers. > > Signed-off-by: Marek Vasut > Cc: Lukasz Majewski > Cc: Tom Rini Tested-by: Tom Rini [omap3_beagle, previously failing] -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 659 bytes Desc: not available URL: