FROMGIT: mfd: cs42l43: Fix issues in probe error paths
The error path in cs42l43_boot_work() will lead to an unbalanced regulator put, when the driver is removed. Fix this by relying on remove to power down the device. Also the boot work needs to be synchronised with driver remove, to ensure the work is not still running after the driver has been removed. Add the required cancel_work_sync(). (cherry picked from commit bae020cb42575fd7734c8cab381182efbd4878e9 https://github.com/CirrusLogic/linux-drivers v6.12-cs42l43-cs35l56) Signed-off-by:Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20241002121311.162691-1-ckeepax@opensource.cirrus.com Signed-off-by:
Lee Jones <lee@kernel.org> Change-Id: I42af2d09efd8392c77c2ba19dec7a23ca7ac8d61 Signed-off-by:
Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by:
Tongtong Pan <pantongtong@huaqin.corp-partner.google.com>
Loading
Please sign in to comment