From 05d9c515cf13056875abbf73adb4a19dd7ba32eb Mon Sep 17 00:00:00 2001 From: Sean Young Date: Wed, 9 Sep 2026 11:04:40 +0100 Subject: [PATCH] media: meson-ir-tx: Prevent divide by zero in meson_irtx_prepare_pulse() If an excesively high carrier is set, meson_irtx_prepare_pulse() will cause a divide by zero if tb_us is 0. Prevent such a carrier from being set. Fixes: 49be1c78d575 ("media: rc: introduce Meson IR TX driver") Signed-off-by: Sean Young Cc: stable@vger.kernel.org Acked-by: Hans Verkuil --- drivers/media/rc/meson-ir-tx.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/media/rc/meson-ir-tx.c b/drivers/media/rc/meson-ir-tx.c index 1ab898069e67..a0d07da09f67 100644 --- a/drivers/media/rc/meson-ir-tx.c +++ b/drivers/media/rc/meson-ir-tx.c @@ -219,6 +219,9 @@ static int meson_irtx_set_carrier(struct rc_dev *rc, u32 carrier) if (carrier == 0) return -EINVAL; + if (!DIV_ROUND_CLOSEST(USEC_PER_SEC, carrier)) + return -EINVAL; + ir->carrier = carrier; meson_irtx_set_mod(ir);