i2c: cadence: Move reset_control_assert after pm_runtime_set_suspended in probe error...
authorManikanta Guntupalli <manikanta.guntupalli@amd.com>
Thu, 6 Feb 2025 11:57:08 +0000 (17:27 +0530)
committerAndi Shyti <andi.shyti@kernel.org>
Tue, 18 Mar 2025 20:53:54 +0000 (21:53 +0100)
Ensure reset_control_assert() is called after pm_runtime_set_suspended()
in the cdns_i2c_probe exit path to maintain proper power management
sequence in error cases.

Signed-off-by: Manikanta Guntupalli <manikanta.guntupalli@amd.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20250206115708.1085523-3-manikanta.guntupalli@amd.com
drivers/i2c/busses/i2c-cadence.c

index 51dc7728d133e83bafa7efc5b85b2390054e9e11..8df63aaf2a8006285b2ba02e721b14ff91f07148 100644 (file)
@@ -1609,9 +1609,9 @@ static int cdns_i2c_probe(struct platform_device *pdev)
 
 err_clk_notifier_unregister:
        clk_notifier_unregister(id->clk, &id->clk_rate_change_nb);
-       reset_control_assert(id->reset);
        pm_runtime_disable(&pdev->dev);
        pm_runtime_set_suspended(&pdev->dev);
+       reset_control_assert(id->reset);
        return ret;
 }