pwm: rockchip: Eliminate potential race condition when probing
stable inclusion from stable-5.10.20 commit 58516ac4aac8890cfc8327f82bbaf3c00ae9cb89 bugzilla: 50608 -------------------------------- [ Upstream commit d21ba5d6 ] Commit 48cf973c ("pwm: rockchip: Avoid glitches on already running PWMs") introduced a potential race condition in rockchip_pwm_probe(): A consumer could enable an inactive PWM, or disable a running one, between rockchip_pwm_probe() registering the device via pwmchip_add() and checking whether it is enabled (to determine whether it was started by a bootloader). This could result in a device's PWM clock being either enabled once more than necessary, potentially causing it to continue running when no longer needed, or disabled once more than necessary, producing a warning from the kernel. Eliminate these possibilities by modifying rockchip_pwm_probe() so it checks whether a device is enabled before registering it rather than after. Fixes: 48cf973c ("pwm: rockchip: Avoid glitches on already running PWMs") Reported-by: NTrent Piepho <tpiepho@gmail.com> Signed-off-by: NSimon South <simon@simonsouth.net> Signed-off-by: NThierry Reding <thierry.reding@gmail.com> Signed-off-by: NSasha Levin <sashal@kernel.org> Signed-off-by: NChen Jun <chenjun102@huawei.com> Acked-by: NXie XiuQi <xiexiuqi@huawei.com> Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
Showing
想要评论请 注册 或 登录