[Letux-kernel] [PATCH] usb: musb: Check devctl status again for a spurious session request
andreas at kemnade.info
Thu May 27 21:15:01 CEST 2021
On Tue, 18 May 2021 18:06:15 +0300
Tony Lindgren <tony at atomide.com> wrote:
> On start-up, we can get a spurious session request interrupt with nothing
> connected. After that the devctl session bit will silently clear, but the
> musb hardware is never idled until a cable is plugged in, or the glue
> layer module is reloaded.
> Let's just check the session bit again in 3 seconds in peripheral mode
> to catch the issue.
Tested this together with the other musb patch you sent on gta04.
This has some interesting side effects.
- loading kernel+ramdisk via usb-dfu
- disconnecting usb cable
- loading omap_hdq (to see battery status)
- idling serial ports
- checking battery current 1.
- loading omap2430, phy-twl4030-usb, g_ether
- checking battery current 2 (again with idled serial ports).
- rtcwake -s 20 -m mem
- checking current during suspend (3)
Without your patches: current 2 is current 1 + approx 15 mA, current 3
is near current 1.
With your patches: current 2 is near current 1, current 3 is approx
Another strange thing I have hit (I have not done this test before, no
idea yet if it is related, but it is also about musb):
Connecting a usb cable while serial ports are idle (not in system
supend), console serial port does not wake up by input, it reacts again
if I unplug usb. If I give usb0 an IP address, I can ping it. No
intensive debugging done there yet. Just stumbled across it.
More information about the Letux-kernel