This is a note to let you know that I've just added the patch titled bus: ti-sysc: Flush posted write on enable before reset to the 4.19-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: bus-ti-sysc-flush-posted-write-on-enable-before-reset.patch and it can be found in the queue-4.19 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 34539b442b3bc7d5bf10164750302b60b91f18a7 Mon Sep 17 00:00:00 2001 From: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed, 14 Jun 2023 10:18:23 +0300 Subject: bus: ti-sysc: Flush posted write on enable before reset From: Tony Lindgren <tony@xxxxxxxxxxx> commit 34539b442b3bc7d5bf10164750302b60b91f18a7 upstream. 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@xxxxxxxxxxxx> 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@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/bus/ti-sysc.c | 2 ++ 1 file changed, 2 insertions(+) --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c @@ -978,6 +978,8 @@ static int sysc_reset(struct sysc *ddata val = sysc_read(ddata, offset); val |= (0x1 << ddata->cap->regbits->srst_shift); sysc_write(ddata, offset, val); + /* Flush posted write */ + val = sysc_read_sysconfig(ddata); /* Poll on reset status */ offset = ddata->offsets[SYSC_SYSSTATUS]; Patches currently in stable-queue which might be from tony@xxxxxxxxxxx are queue-4.19/bus-ti-sysc-flush-posted-write-on-enable-before-reset.patch queue-4.19/serial-8250-fix-oops-for-port-pm-on-uart_change_pm.patch