pwm: rockchip: Eliminate potential race condition when probing
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:Trent Piepho <tpiepho@gmail.com> Signed-off-by:
Simon South <simon@simonsouth.net> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
Loading
Please register or sign in to comment