]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
i2c: davinci: fix division by zero on missing clock-frequency
authorChaitanya Sabnis <chaitanya.msabnis@gmail.com>
Tue, 26 May 2026 10:22:40 +0000 (15:52 +0530)
committerAndi Shyti <andi.shyti@kernel.org>
Tue, 26 May 2026 23:07:05 +0000 (01:07 +0200)
commit030675aa54cf757769b3db65642433d626b3ed7c
tree6d04c27c7114441f9ab9dfa3dd2f00a17b865c29
parente7ae89a0c97ce2b68b0983cd01eda67cf373517d
i2c: davinci: fix division by zero on missing clock-frequency

When the 'clock-frequency' property is missing from the device tree,
the driver falls back to DAVINCI_I2C_DEFAULT_BUS_FREQ. However, this
macro was defined in kHz (100), whereas the device tree property is
expected in Hz.

The probe function divided the fallback value by 1000, causing
integer truncation that resulted in dev->bus_freq = 0. This triggered
a deterministic division-by-zero kernel panic when calculating clock
dividers later in the probe sequence.

Fix this by redefining DAVINCI_I2C_DEFAULT_BUS_FREQ in Hz (100000)
to match the expected device tree property unit, allowing the existing
division logic to work correctly for both cases.

Fixes: b04ce6385979 ("i2c: davinci: kill platform data")
Reported-by: Sashiko <sashiko-bot@kernel.org>
Closes: https://lore.kernel.org/all/20260514044726.57297C2BCB7@smtp.kernel.org/
Signed-off-by: Chaitanya Sabnis <chaitanya.msabnis@gmail.com>
Cc: <stable@vger.kernel.org> # v6.14+
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20260526102240.4949-1-chaitanya.msabnis@gmail.com
drivers/i2c/busses/i2c-davinci.c