LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> To: Sebastian Reichel <sre@kernel.org>, Rob Herring <robh+dt@kernel.org>, linux-pm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>, Christophe JAILLET <christophe.jaillet@wanadoo.fr>, Hans de Goede <hdegoede@redhat.com>, Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>, stable@vger.kernel.org Subject: [PATCH 1/3] power: supply: max17042: handle fails of reading status register Date: Mon, 16 Aug 2021 10:27:14 +0200 [thread overview] Message-ID: <20210816082716.21193-1-krzysztof.kozlowski@canonical.com> (raw) Reading status register can fail in the interrupt handler. In such case, the regmap_read() will not store anything useful under passed 'val' variable and random stack value will be used to determine type of interrupt. Handle the regmap_read() failure to avoid handling interrupt type and triggering changed power supply event based on random stack value. Fixes: 39e7213edc4f ("max17042_battery: Support regmap to access device's registers") Cc: <stable@vger.kernel.org> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> --- drivers/power/supply/max17042_battery.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c index ce2041b30a06..858ae97600d4 100644 --- a/drivers/power/supply/max17042_battery.c +++ b/drivers/power/supply/max17042_battery.c @@ -869,8 +869,12 @@ static irqreturn_t max17042_thread_handler(int id, void *dev) { struct max17042_chip *chip = dev; u32 val; + int ret; + + ret = regmap_read(chip->regmap, MAX17042_STATUS, &val); + if (ret) + return IRQ_HANDLED; - regmap_read(chip->regmap, MAX17042_STATUS, &val); if ((val & STATUS_INTR_SOCMIN_BIT) || (val & STATUS_INTR_SOCMAX_BIT)) { dev_info(&chip->client->dev, "SOC threshold INTR\n"); -- 2.30.2
next reply other threads:[~2021-08-16 8:28 UTC|newest] Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-08-16 8:27 Krzysztof Kozlowski [this message] 2021-08-16 8:27 ` [PATCH 2/3] power: supply: max17042: remove duplicated STATUS bit defines Krzysztof Kozlowski 2021-08-16 8:27 ` [PATCH 3/3] dt-bindings: power: supply: max17042: describe interrupt Krzysztof Kozlowski 2021-08-17 22:28 ` Rob Herring 2021-08-16 8:42 ` [PATCH 1/3] power: supply: max17042: handle fails of reading status register Hans de Goede 2021-08-16 11:08 ` Sebastian Reichel
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210816082716.21193-1-krzysztof.kozlowski@canonical.com \ --to=krzysztof.kozlowski@canonical.com \ --cc=christophe.jaillet@wanadoo.fr \ --cc=devicetree@vger.kernel.org \ --cc=hdegoede@redhat.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pm@vger.kernel.org \ --cc=robh+dt@kernel.org \ --cc=sebastian.krzyszkowiak@puri.sm \ --cc=sre@kernel.org \ --cc=stable@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).