mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-08-09 08:46:59 +02:00
video: backlight: pwm: avoid integer overflow in duty cycle calculation
The intermediate value could overflow for large periods and levels. Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
6a0b888580
commit
533ad9dcda
@ -63,7 +63,7 @@ static int set_pwm(struct pwm_backlight_priv *priv)
|
||||
int ret;
|
||||
|
||||
if (priv->period_ns) {
|
||||
duty_cycle = priv->period_ns * (priv->cur_level - priv->min_level) /
|
||||
duty_cycle = (u64)priv->period_ns * (priv->cur_level - priv->min_level) /
|
||||
(priv->max_level - priv->min_level);
|
||||
ret = pwm_set_config(priv->pwm, priv->channel, priv->period_ns,
|
||||
duty_cycle);
|
||||
|
Loading…
Reference in New Issue
Block a user