From nobody Fri Jun 12 14:18:14 2026 Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6FE9538239E for ; Thu, 14 May 2026 10:37:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778755080; cv=none; b=p327Tht+INt9PYpDYXEE1tgsqwGn+7bwuw+6UIQdaz9wHof8K1OC0EHOdGhMmWH8HGsAZRLyH3rPFxgJyrVBIDPl+z9iWXp3Zwar2+rKbiUR/ctQ3X0dAJd9mxEP7tXcpQA5hbgSybpFikCrkoo+dggwpTrnTMexEtpSgbI82l4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778755080; c=relaxed/simple; bh=4mJmvtE5Y9rt0p2kmIR0I1IFeafTBCzZc6ipf8jcL24=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=oFOobTLy3qIIT2rttGAyUHTK817vxxpATblS5HO+95EBzcF123TlMId8rXagQo5PCo5LMFHZg7SIPN+5h2jkw3K5HoUqr5DuvhQ659c00wYKQ97DhEYg1pDz5osLDhc7R4CX2GSAlekHEC3opzKUY7j8Riuss0Y8GSUVMfPxX+E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=nGRZOJes; arc=none smtp.client-ip=209.85.216.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="nGRZOJes" Received: by mail-pj1-f43.google.com with SMTP id 98e67ed59e1d1-366139223e4so4773226a91.0 for ; Thu, 14 May 2026 03:37:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778755079; x=1779359879; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=docZu46gG++Kf1XBSX2+6MGhAZFNy07C3ni4sJC8Jrc=; b=nGRZOJestqdVCB7IAJk8zuAkbOrpMginTUVSCn8G6ONCICq9uXGf86X7gvlGOVk4Lp 3+TMEGhAcxAe6Wi026wJhe4cyBlDQAXJooiWKB5jQ6xUJz8hdOO/kDoSyFO5PJ+2vOFg QIPwDcjgUNSdnPmQ0h4K+cA1+xD2acB9nT8qqIPsjaI7DKU/OUNfEpdPcoDelYEwzCsp +nZApUH5a/XO/7Cs8W47y/PYedMnGFCcLNcspBxt0CJ0NPA6GpH4hmnBurRYmKdDMK+x cxB5pkAMgYxyCXXEUZSN/AORFHxje6ZQ6hy9BgmkZpQwjgNAHTLKDoLG9VcUHH1EkpFj 6pXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778755079; x=1779359879; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=docZu46gG++Kf1XBSX2+6MGhAZFNy07C3ni4sJC8Jrc=; b=hJrEQPQB695OBL+F5uWMx8fphYQDo4+sduykQh1cixBKcWTpN0Wl6l3AhY/B3W/tgL fjzldSb6twSmb6Bd2eGAqulU/JAnGlKnJ2WRbbbn1SsUfhBuk9ruVS7QwrHGHRmuPM8K zuAfNMkjTn8jUr1u7AHgBFjHxqCe+C3zEOLdPz1Ve0aDP2E11hNdWHcL6KzpeQw3fYaK nXqmLW4MAlfZltxufimmW+Hv1gLDm2WICLGr3x7sDS9vYRAUNl604RQhSZXfB9Rld9NH nsW0oVgzxkzFGS7LEuOk7nmoQTCZ7Zs9rEs0zqwIeVVHRM38Yt6cihL/VvGyhsb/PcPR BO5A== X-Forwarded-Encrypted: i=1; AFNElJ8vaUOB4k4aqV4/6/xhRbY19iK1MUQe2wSZUP9/OzDtgXcus9TRJ2g3Bz7BFCJ2suF1fX/+MtpeFT5C1Ko=@vger.kernel.org X-Gm-Message-State: AOJu0YxIc0hrppZIJJVg3f7TWUE8kmI8ootOWWmwTOTRCEtBdkfLtpbc x5ZEZuA4lMsMpvDRzGwdGFHbVNseYey6qnWwBXuHzT4YYYfkCeFCTUQL X-Gm-Gg: Acq92OF0Q78msNSOF9vww3dOdeJRmBvZQk9QR2Ijz85aUXxgsg1BLNZidOwrop90Tnc CymR06kHljPVZ57Y3pjjYzmwdyxCoT6UyYEwC2zuV1qRpzdqzwDWVa/+xlQjXxbfO0jwcl7FqYg Gq487ihFHQSSPnYC86RlWGy5Uj2m2nsZblo54eQ5HJdP1EyEPP214Jz4kmQtNUQLZ3JaeXeK+MX qnawGR6TMwPmTg3EIQcW265d0c5DiyUSBA89NER71wFvhdXv506i218RBZCAqAgd8VVu7ZmHJVb 2Za1nqEYyrbv6jXBH/WzKFwMdZlk2J6/D9VvuVBNhGNthImAoplYM1ii/4/YQ8YDojVzSrDfhh+ o7R2Ji26dGTmT3ryO8/t6PbHW47h43kT4n31/hBPyMHgl1Ow+oX5iEAe8JeopTqgm1BgE4QaCre +88PH+BcZZiw8oTChGlfFRfF332pioVS6Y+uDZUYmdWRId2P6oyLFotwCtNt94cfKdcUBwTpjG X-Received: by 2002:a17:90b:3c85:b0:368:12f3:fa4a with SMTP id 98e67ed59e1d1-368f3d4400dmr7945009a91.23.1778755078444; Thu, 14 May 2026 03:37:58 -0700 (PDT) Received: from chaitanya-virtualbox.. ([103.249.241.52]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3692f4a038esm3164644a91.15.2026.05.14.03.37.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 May 2026 03:37:58 -0700 (PDT) From: Chaitanya Sabnis To: brgl@kernel.org, andi.shyti@kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, Chaitanya Sabnis , Sashiko Subject: [PATCH] i2c: davinci: fix division by zero on missing clock-frequency Date: Thu, 14 May 2026 16:07:40 +0530 Message-ID: <20260514103740.5416-1-chaitanya.msabnis@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" When the 'clock-frequency' property is missing from the device tree, the driver falls back to DAVINCI_I2C_DEFAULT_BUS_FREQ. However, this macro is defined in kHz (100), whereas the device tree property is expected in Hz. The probe function blindly divided the fallback value by 1000, causing integer truncation that resulted in dev->bus_freq =3D 0. This triggered a deterministic division-by-zero kernel panic when calculating clock dividers later in the probe sequence. Fix this by isolating the division so it only applies to the Hz value read from the device tree, cleanly assigning the kHz default otherwise. Reported-by: Sashiko Closes: https://lore.kernel.org/all/20260514044726.57297C2BCB7@smtp.kernel.= org/ Signed-off-by: Chaitanya Sabnis --- drivers/i2c/busses/i2c-davinci.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/i2c/busses/i2c-davinci.c b/drivers/i2c/busses/i2c-davi= nci.c index a773ba082321..bd0754abdcb7 100644 --- a/drivers/i2c/busses/i2c-davinci.c +++ b/drivers/i2c/busses/i2c-davinci.c @@ -760,9 +760,9 @@ static int davinci_i2c_probe(struct platform_device *pd= ev) =20 r =3D device_property_read_u32(&pdev->dev, "clock-frequency", &prop); if (r) - prop =3D DAVINCI_I2C_DEFAULT_BUS_FREQ; - - dev->bus_freq =3D prop / 1000; + dev->bus_freq =3D DAVINCI_I2C_DEFAULT_BUS_FREQ; + else + dev->bus_freq =3D prop / 1000; =20 dev->has_pfunc =3D device_property_present(&pdev->dev, "ti,has-pfunc"); =20 --=20 2.43.0