summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2021-02-18 13:06:57 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-04-10 13:21:18 +0200
commit144744d153f0b18fa94c77731f538d1f84ea92bd (patch)
tree8b4c35c304e0c51b75fbfa8d1497b1056c10d6db /drivers
parent1bed8c13b9973fea90494da5b205a9cfc3862ab0 (diff)
downloadlinux-144744d153f0b18fa94c77731f538d1f84ea92bd.tar.gz
linux-144744d153f0b18fa94c77731f538d1f84ea92bd.tar.bz2
linux-144744d153f0b18fa94c77731f538d1f84ea92bd.zip
bus: ti-sysc: Fix warning on unbind if reset is not deasserted
[ Upstream commit a7b5d7c4969aba8d1f04c29048906abaa71fb6a9 ] We currently get thefollowing on driver unbind if a reset is configured and asserted: WARNING: CPU: 0 PID: 993 at drivers/reset/core.c:432 reset_control_assert ... (reset_control_assert) from [<c0fecda8>] (sysc_remove+0x190/0x1e4) (sysc_remove) from [<c0a2bb58>] (platform_remove+0x24/0x3c) (platform_remove) from [<c0a292fc>] (__device_release_driver+0x154/0x214) (__device_release_driver) from [<c0a2a210>] (device_driver_detach+0x3c/0x8c) (device_driver_detach) from [<c0a27d64>] (unbind_store+0x60/0xd4) (unbind_store) from [<c0546bec>] (kernfs_fop_write_iter+0x10c/0x1cc) Let's fix it by checking the reset status. Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/bus/ti-sysc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
index 54c8c8644df2..b6a278183d82 100644
--- a/drivers/bus/ti-sysc.c
+++ b/drivers/bus/ti-sysc.c
@@ -1814,7 +1814,9 @@ static int sysc_remove(struct platform_device *pdev)
pm_runtime_put_sync(&pdev->dev);
pm_runtime_disable(&pdev->dev);
- reset_control_assert(ddata->rsts);
+
+ if (!reset_control_status(ddata->rsts))
+ reset_control_assert(ddata->rsts);
unprepare:
sysc_unprepare(ddata);