From patchwork Tue Mar 28 03:10:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chen-Yu Tsai X-Patchwork-Id: 13190409 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9B04AC76196 for ; Tue, 28 Mar 2023 03:11:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=RI1GC5sAgawwwbxZ7Ixqsi9IE/AvpzkfALWuOlmAoB4=; b=cxdM1WRcjTLjo5 V6PnREhOBL54KdD4Uzuzyceit5OWIzfKetx/b2Lxd9bj8ZXthBAv/9vR8zDaxw91h8rvGRu5Q4itl tQaJ2Tt1PorMyFjh0jTkmiRQWBK0z6qM3MPO/lcacITDrGEm9WADBaTANjE7T8Z5Suz2wX2tzGmK0 E9K+OEnVzCyIUS/2oyLRJ3/KVasC5BG55eiq6tUE6d5tTZRbvvsSzTEjhV/pV846r1KaeL4CZT1Ip EIeXnmo0+j3D1bY/jZfgMknm/IwYFS/+W3RzgI/9uZJg1VNpvbkAbRM8Ok73wr5qZGeJy0EDbjjFI UlgkWwdKmzk3bFPE8Jaw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pgzjY-00CyiJ-21; Tue, 28 Mar 2023 03:10:52 +0000 Received: from mail-pj1-x1031.google.com ([2607:f8b0:4864:20::1031]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pgzjV-00CyfF-11 for linux-arm-kernel@lists.infradead.org; Tue, 28 Mar 2023 03:10:51 +0000 Received: by mail-pj1-x1031.google.com with SMTP id d13so9615883pjh.0 for ; Mon, 27 Mar 2023 20:10:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1679973046; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=f9rtmQf3+/k9brYMpe16mW92eSBX3phAG9+DZr8tElc=; b=JuGXT7BWgidqAU+U9NFWmJkcnYoPC6x71wZQlTucGNVG+piuo5sPakfKCZuigoFSjM px+Y4vf8GZwNQnHAwMxhFyWA1pJ/A32WcIT58WedWyC9gLDLRe9Q/o8tu0Qb560zZrUW yG8VPUBn6X+e/qO69VLkUUlT6I/jjAGJZfIWI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679973046; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=f9rtmQf3+/k9brYMpe16mW92eSBX3phAG9+DZr8tElc=; b=SpQ0y2sWGHyuN/WjrKwSXD+iqlZXhsHzegmAQDmgtdFdS/vU0QCpvNgZSF0Ps/q1ff 89S7AnDky+zo6bCcpKY+jVIVHuPANckoifohh6nUggLlbQuabW8DiTe4OyFAC/UXHsQO lYyNNdk2RaQ9S5DjFjUwcoWGHAaUtiV5H3mU7/rFNxly/Xvo6xcmg/BeI0DVKxrBU2kA x7K1kkALKP3/yQ+B2lz18UlahDDqTwRmffo5U9BfD1d2qwMUNyUFY9t7whopIafEUF7U bHDeLTQ1QsMrOPL9DVyeessFoKYg2IzrImCbG89jPGNtKxgKvQHQCRfE9HolSwR3s8Vd Na4g== X-Gm-Message-State: AAQBX9eh4H91cR0UZDSKRDfDAv3zQonckZq0Cjb3kPrWu7hX6EjloDGy a5OJowW8O68miU4M6fIjzaODYQ== X-Google-Smtp-Source: AKy350Yhy0dWdjNAmaMv84OP2MovOHhZZoppM+d6gBHQlrg7Kw46jgJNOk74uIpr2rEXrRPToWVjTg== X-Received: by 2002:a17:90b:38c4:b0:23d:2027:c355 with SMTP id nn4-20020a17090b38c400b0023d2027c355mr16148392pjb.10.1679973046316; Mon, 27 Mar 2023 20:10:46 -0700 (PDT) Received: from wenstp920.tpe.corp.google.com ([2401:fa00:1:10:da70:de00:9a3d:7067]) by smtp.gmail.com with ESMTPSA id q20-20020a170902bd9400b001a2574813b8sm1491784pls.278.2023.03.27.20.10.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Mar 2023 20:10:46 -0700 (PDT) From: Chen-Yu Tsai To: "Rafael J. Wysocki" , Daniel Lezcano , Amit Kucheria , Zhang Rui Cc: Chen-Yu Tsai , Matthias Brugger , AngeloGioacchino Del Regno , Balsam CHIHI , linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: [PATCH] thermal/drivers/mediatek/lvts_thermal: only update registered thermal zones Date: Tue, 28 Mar 2023 11:10:37 +0800 Message-Id: <20230328031037.1361048-1-wenst@chromium.org> X-Mailer: git-send-email 2.40.0.348.gf938b09366-goog MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230327_201049_356277_26F5611D X-CRM114-Status: GOOD ( 13.19 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org It's possible for some sensors or thermal zones to not be registered, either because they are unused or not fully declared in the device tree. Nevertheless the driver enables interrupts for all sensors. If an interrupt happens for an not-registered sensor, the driver would end up updating a non-existent thermal zone, which leads to a NULL pointer dereference. Change it so that only registered thermal zones get updated. Fixes: f5f633b18234 ("thermal/drivers/mediatek: Add the Low Voltage Thermal Sensor driver") Signed-off-by: Chen-Yu Tsai --- drivers/thermal/mediatek/lvts_thermal.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/thermal/mediatek/lvts_thermal.c b/drivers/thermal/mediatek/lvts_thermal.c index d87d3847c7d0..bf59174e18d3 100644 --- a/drivers/thermal/mediatek/lvts_thermal.c +++ b/drivers/thermal/mediatek/lvts_thermal.c @@ -415,9 +415,14 @@ static irqreturn_t lvts_ctrl_irq_handler(struct lvts_ctrl *lvts_ctrl) if (!(value & masks[i])) continue; + iret = IRQ_HANDLED; + + /* sensor might not exist (bogus interrupt) or not be registered */ + if (!lvts_ctrl->sensors[i].tz) + continue; + thermal_zone_device_update(lvts_ctrl->sensors[i].tz, THERMAL_TRIP_VIOLATED); - iret = IRQ_HANDLED; } /*