[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250206011324.4729b548@foxbook>
Date: Thu, 6 Feb 2025 01:13:24 +0100
From: MichaĆ Pecio <michal.pecio@...il.com>
To: guanyulin@...gle.com
Cc: Thinh.Nguyen@...opsys.com, gregkh@...uxfoundation.org, kekrby@...il.com,
lijiayi@...inos.cn, linux-kernel@...r.kernel.org,
linux-sound@...r.kernel.org, linux-usb@...r.kernel.org,
mathias.nyman@...el.com, oneukum@...e.com, perex@...ex.cz,
quic_jjohnson@...cinc.com, ricardo@...liere.net, stern@...land.harvard.edu,
sumit.garg@...aro.org, tiwai@...e.com
Subject: Re: [PATCH v9 5/5] usb: host: enable USB offload during system
sleep
Hi,
> - not flushing the endpoints of actively offloaded USB devices. Given
> that the USB devices is used by another entity, unilaterally flush
> the endpoint might lead to unexpected behavior on another entity.
This doesn't seem right, because flushing applies to URBs managed by
the kernel, so it should have no effect on offloaded endpoints.
As far as I understand from your earlier discussion with Alan Stern,
the real reason is that it disrupted operation of class drivers, in
particular causing kernel-managed interrupt endpoints not to be polled
during suspend and some events were being lost.
Or maybe the real problem was that if the INT IN endpoint isn't being
polled, device events don't trigger xHCI IRQs that wake up the CPU?
And by the way, usb_hcd_flush_endpoint() doc states that no new URBs
may be submitted during this call. I wonder if this can be guaranteed
if the interface has not been suspended first? Perhaps this alone is
good reason not to flush.
Regards,
Michal
Powered by blists - more mailing lists