From nobody Fri Jun 12 12:46:08 2026 Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) (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 253CD37BE92 for ; Fri, 15 May 2026 08:39:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778834387; cv=none; b=GHxyN8PxVBBUAJ/EL3mKrFjhra1eHElURoHgyhE7/qyht0Ux/V8CemkUn6pewgrVJ+nYEllTn7RoVyDrt62Nh9rSyBeAuE0qrPBV5XCw5fUU9wRei7vWXeB0m9Qbyf7Nrt/QJXS7fwpVXndTqtlehaUCay8TO/TYtBcNF41YRIQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778834387; c=relaxed/simple; bh=JHNLP5jwyn1hfRzQMU8zfNrmWdhcL7oBMVe8I6w9oIw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=B7XRoynHTGZ22aGgNmFZb4MFglt1lFIU6WZRq1SIp01Sh0FtV5+f3rHcZ+hQxXxixhfLa1XwE4RIq1OW5lZFAPTEIH+qo2kjMwMhjDSjHCOQ5e8duSj14onN9bh/w9qTIFN6mPQ4314bd7TrUEwKBl30nx9c3DPO3o4eimhVHl0= 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=X6sla9Ii; arc=none smtp.client-ip=209.85.214.175 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="X6sla9Ii" Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-2bcd3ac3307so32654565ad.0 for ; Fri, 15 May 2026 01:39:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778834385; x=1779439185; 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=mUQeo4WtwZOyiPosjJ+e5V/s5KXRfRIpXXnzgHHEpY0=; b=X6sla9IiRHr5IsikkPwhEEczMYhNW1+QmbSxJm+35CMnoXxicz1YRDO22JJPdOfuvC QE0Y4vipXx/DbEKaOKrWtNGv2ZvEbDpRmbzwsM0lT5uwZzPsPkQG2R1tJpdK1h3/ko9l pscfK5M2+ptACNESmyGpzNaiPPG0zmdKPmMYCyT3fSl8/6fRK+wsyHK4bFfvrAkNCzNT mld749ZwZvgOkXIGLjD97g136iVmr1l5e+lzVvlV9zkUOU4E5h1+mtpun0jSHCs+MF+l Z3E2N/sd0zoo9saK2YZ3krd49ZbpebocU0JMwQ6zxQnh6QFPFUjBsO40jOQGdRXQdcBz A9nA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778834385; x=1779439185; 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=mUQeo4WtwZOyiPosjJ+e5V/s5KXRfRIpXXnzgHHEpY0=; b=any3HMaMHmjbx9F8LRKKOMFGwt2/QGIgvC9hfoyczqc+POjYPtZ1dvtT4peeDI7ING ZxJow7NoiBY47kssRPWi6OhlXn9BjFxh1xnE87NLsfJiUMjbiJc8jASKUayg6a0IKPfd FCN52TWZgAp7xhLPRCkCe9RQBulBRmXmu1pXMcegdd8f8c8geECxh9+ooza7a268Jooi zc+3vqvmuM3fi1bP5GHAEgnHdg7HxeTvf6b4NJM853xp2juMYiVB1YOVprSnwyrRCXIs TeNx77P9BwvE6MoUE/4hEh+uFy+G4l0s+UCNMyBZRh0YIH6q1pxXnPbiVJPri8xmvRbr wbyQ== X-Forwarded-Encrypted: i=1; AFNElJ81DEqoyKba5Y5qxix7AlkYD5Redh+cNBhyvZVaM9Pq5/Jzn+KmndTGwPHEU+OcMHM2937DqCkVXeUJk2g=@vger.kernel.org X-Gm-Message-State: AOJu0YwYwBdNkWIYvLEAKBILzETtd1uWOGgTnj4HKZ9slnQ1fzXNcpVq XwJBBmulxkRIwbOh+L1/wmXsvZroaK0CRQMKPKkbF7rSLrChjc2Eh0EJ X-Gm-Gg: Acq92OGrURaeezD9TuHT8MAXMYdx55od61eBWDh/BVhLuM+bsEDGzORlKCBHG1nkEXB VX5JA+ylC3V67qgslrO7iNuRpk3+LDs0PnQN0ftGfe32GAr7033+s0jBzaqdq+Y/73vv+1wWyZR j9ap/h0WfW4dBbEMU3oYURq+o0te1y3fQ1cTRrci443GT6Nu9AGxmnzg+FIn/khv92E+CeU7bzy 8pQjSyMJrssETIdlRS8F8uwvnWJ762ehMnVhWsgGbdpWCTbiTGFN5vvtu4BK1D7heSJDFoJiy6E SN69IuIMVb9tdULanQM0thP4RgTE7PB9V8Tm6SA5/OMAoRc7e0jqkWtih4PrJ13StAI5fiCVpmd D54OjMqxApgnnlUgbwz3F4pnvWDd+INlfL+xt+aBo0LaoEaMsA5X9ZuD6epW+W2tObBUkDND+wl YTWVcA+cz8HrrpENXlfBFai1a74KeXP5FVxIIlWwxA5oXeqkakbvdyykAug1uWq36PDM9tXmBhe 7iBemTOZ/k= X-Received: by 2002:a17:903:3d4f:b0:2ae:450c:951e with SMTP id d9443c01a7336-2bd7e9040a2mr24024255ad.17.1778834385278; Fri, 15 May 2026 01:39:45 -0700 (PDT) Received: from chaitanya-virtualbox.. ([103.249.241.55]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2bd5c05fcb3sm53551645ad.26.2026.05.15.01.39.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 May 2026 01:39:44 -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 v2] i2c: davinci: fix division by zero on missing clock-frequency Date: Fri, 15 May 2026 14:09:26 +0530 Message-ID: <20260515083927.5033-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 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 =3D 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 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