Hello, On Thu, Oct 03, 2019 at 09:46:49PM -0700, Yizhuo wrote: > Inside function stm32_pwm_config(), variable "psc" and " arr" > could be uninitialized if regmap_read() returns -EINVALs. > However, they are used later in the if statement to decide > the return value which is potentially unsafe. > > The same case happens in function stm32_pwm_detect_channels() > with variable "ccer", but we cannot just return -EINVAL because > the error code is not acceptable by the caller. Aslo, the variable
s/Aslo/Also/ > "ccer" in functionstm32_pwm_detect_complementary() could also be s/functionstm32_pwm_detect_/function stm32_pwm_detect_/ > uninitialized, since stm32_pwm_detect_complementary() returns void, > the patch is not easy. active_channels() is also affected. Also there are calls to regmap_update_bits which should have their return values checked. While a patch to fix these all is not trivial it is certainly possible and I would prefer to fix the problem completely. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ |

