linux-stable/drivers/bus
Tony Lindgren fae3868be8 bus: ti-sysc: Flush posted write on enable before reset
[ Upstream commit 34539b442b ]

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: 596e795569 ("bus: ti-sysc: Add support for software reset")
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-08-23 17:52:36 +02:00
..
fsl-mc bus: fsl-mc: don't assume child devices are all fsl-mc devices 2023-07-19 16:21:57 +02:00
mhi bus: mhi: host: Range check CHDBOFF and ERDBOFF 2023-05-11 23:03:05 +09:00
arm-cci.c
arm-integrator-lm.c
brcmstb_gisb.c bus: brcmstb_gisb: Remove the suppress_bind_attrs attribute of the driver 2022-04-26 09:12:45 -07:00
bt1-apb.c bus: bt1-apb: Don't print error on -EPROBE_DEFER 2022-06-14 12:21:44 +02:00
bt1-axi.c bus: bt1-axi: Don't print error on -EPROBE_DEFER 2022-06-14 12:21:44 +02:00
da8xx-mstpri.c
hisi_lpc.c bus: hisi_lpc: Use platform_device_register_full() 2022-09-08 02:27:29 +00:00
imx-weim.c bus: imx-weim: fix branch condition evaluates to a garbage value 2023-03-30 12:49:29 +02:00
intel-ixp4xx-eb.c bus: ixp4xx: fix IXP4XX_EXP_T1_MASK 2023-07-23 13:49:43 +02:00
Kconfig bus: add driver for initializing the SSC bus on (some) qcom SoCs 2022-04-19 13:03:57 -05:00
Makefile bus: add driver for initializing the SSC bus on (some) qcom SoCs 2022-04-19 13:03:57 -05:00
mips_cdmm.c mips: cdmm: Fix refcount leak in mips_cdmm_phys_base 2022-03-14 15:01:51 +01:00
moxtet.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
mvebu-mbus.c bus: mvebu-mbus: use DEFINE_SHOW_ATTRIBUTE to simplify mvebu_{sdram/devs}_debug 2022-09-24 14:59:26 +02:00
omap-ocp2scp.c
omap_l3_noc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_320.RULE 2022-06-10 14:51:36 +02:00
omap_l3_noc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_320.RULE 2022-06-10 14:51:36 +02:00
omap_l3_smx.c
omap_l3_smx.h
qcom-ebi2.c
qcom-ssc-block-bus.c bus: add driver for initializing the SSC bus on (some) qcom SoCs 2022-04-19 13:03:57 -05:00
simple-pm-bus.c drivers: bus: simple-pm-bus: Add support for probing simple bus only devices 2021-10-05 17:47:15 +02:00
sun50i-de2.c bus: sun50i-de2: Adjust printing error message 2021-10-13 14:48:48 +02:00
sunxi-rsb.c bus: sunxi-rsb: Fix error handling in sunxi_rsb_init() 2023-02-09 11:27:59 +01:00
tegra-aconnect.c
tegra-gmi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_56.RULE (part 2) 2022-06-10 14:51:35 +02:00
ti-pwmss.c
ti-sysc.c bus: ti-sysc: Flush posted write on enable before reset 2023-08-23 17:52:36 +02:00
ts-nbus.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_56.RULE (part 2) 2022-06-10 14:51:35 +02:00
uniphier-system-bus.c
vexpress-config.c