From: Greg Kroah-Hartman Date: Fri, 9 Jan 2026 10:24:40 +0000 (+0100) Subject: 6.12-stable patches X-Git-Tag: v6.1.160~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1be2d0f92d5f1af28ac934e283e0e0daba4d1504;p=thirdparty%2Fkernel%2Fstable-queue.git 6.12-stable patches added patches: pwm-stm32-always-program-polarity.patch --- diff --git a/queue-6.12/pwm-stm32-always-program-polarity.patch b/queue-6.12/pwm-stm32-always-program-polarity.patch new file mode 100644 index 0000000000..f4958b30ba --- /dev/null +++ b/queue-6.12/pwm-stm32-always-program-polarity.patch @@ -0,0 +1,38 @@ +From sean@geanix.com Fri Jan 9 11:22:32 2026 +From: Sean Nyekjaer +Date: Thu, 08 Jan 2026 13:45:23 +0100 +Subject: pwm: stm32: Always program polarity +To: "Fabrice Gasnier" , "Uwe Kleine-König" , "Maxime Coquelin" , "Alexandre Torgue" +Cc: "Uwe Kleine-König" , linux-pwm@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, "Sean Nyekjaer" +Message-ID: <20260108-stm32-pwm-v2-1-ced582974f8b@geanix.com> + +From: Sean Nyekjaer + +Commit 7346e7a058a2 ("pwm: stm32: Always do lazy disabling") triggered a +regression where PWM polarity changes could be ignored. + +stm32_pwm_set_polarity() was skipped due to a mismatch between the +cached pwm->state.polarity and the actual hardware state, leaving the +hardware polarity unchanged. + +Fixes: 7edf7369205b ("pwm: Add driver for STM32 plaftorm") +Cc: stable@vger.kernel.org # <= 6.12 +Signed-off-by: Sean Nyekjaer +Co-developed-by: Uwe Kleine-König +Signed-off-by: Uwe Kleine-König +--- + drivers/pwm/pwm-stm32.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +--- a/drivers/pwm/pwm-stm32.c ++++ b/drivers/pwm/pwm-stm32.c +@@ -458,8 +458,7 @@ static int stm32_pwm_apply(struct pwm_ch + return 0; + } + +- if (state->polarity != pwm->state.polarity) +- stm32_pwm_set_polarity(priv, pwm->hwpwm, state->polarity); ++ stm32_pwm_set_polarity(priv, pwm->hwpwm, state->polarity); + + ret = stm32_pwm_config(priv, pwm->hwpwm, + state->duty_cycle, state->period); diff --git a/queue-6.12/series b/queue-6.12/series index 790f47d01e..786f8c8687 100644 --- a/queue-6.12/series +++ b/queue-6.12/series @@ -12,3 +12,4 @@ sched-fair-small-cleanup-to-sched_balance_newidle.patch sched-fair-small-cleanup-to-update_newidle_cost.patch sched-fair-proportional-newidle-balance.patch virtio_console-fix-order-of-fields-cols-and-rows.patch +pwm-stm32-always-program-polarity.patch