]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
bus: ti-sysc: Flush posted write on enable before reset
authorTony Lindgren <tony@atomide.com>
Wed, 14 Jun 2023 07:18:23 +0000 (10:18 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 26 Aug 2023 12:23:35 +0000 (14:23 +0200)
commit03522d73a4989a2757c42d7ae5e97d787e35a4c5
tree035cbc17a8d2148bb2c50907c009927ff3d0cfe5
parent578371ce0d7f67ea1e65817c04478aaab0d36b68
bus: ti-sysc: Flush posted write on enable before reset

[ Upstream commit 34539b442b3bc7d5bf10164750302b60b91f18a7 ]

The am335x devices started producing boot errors for resetting musb module
in because of subtle timing changes:

Unhandled fault: external abort on non-linefetch (0x1008)
...
sysc_poll_reset_sysconfig from sysc_reset+0x109/0x12
sysc_reset from sysc_probe+0xa99/0xeb0
...

The fix is to flush posted write after enable before reset during
probe. Note that some devices also need to specify the delay after enable
with ti,sysc-delay-us, but this is not needed for musb on am335x based on
my tests.

Reported-by: kernelci.org bot <bot@kernelci.org>
Closes: https://storage.kernelci.org/next/master/next-20230614/arm/multi_v7_defconfig+CONFIG_THUMB2_KERNEL=y/gcc-10/lab-cip/baseline-beaglebone-black.html
Fixes: 596e7955692b ("bus: ti-sysc: Add support for software reset")
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/bus/ti-sysc.c