From nobody Sat Feb 7 08:20:02 2026 Received: from cstnet.cn (smtp21.cstnet.cn [159.226.251.21]) (using TLSv1.2 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 17CB635979; Mon, 26 May 2025 02:56:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.226.251.21 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748228217; cv=none; b=X2P2ZaQ2TzBItoy522mn9/UVQ6t5KFUhu+HN4M1wj+xKeEZym+AZE/R6OY4JiE+RpcWbmc4btZgS8YJKm07z9/AX/+jhh0g0iV9ZgO2gjzW8k93uAM0k2YGEOqrBOHi72LFmQ2hskSTNtYnnBPXVrM/xTVKMRZlPt9Y2aVGb7Qw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748228217; c=relaxed/simple; bh=XuKrgcnfXegYIyS0KrMNJGkX1yTEVRfEu3bb8WMt2Sk=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=JF2Izf0ZLjUKsw1Ktuxm+zWTjLNN9H34RB8QRBiihPxKm08qAXP/idPvJ8ykeQB5Teicf3HKq/ouabfAhjGX7eFDJuTwH/bzOmgbuQcyQHrywj44ifdp58Xmko78S3tE0v1Pf9amNQVhzFgBVl+NIHqXKFXcmq42tMCHQ+mkFxQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn; spf=pass smtp.mailfrom=iscas.ac.cn; arc=none smtp.client-ip=159.226.251.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=iscas.ac.cn Received: from localhost.localdomain (unknown [124.16.141.245]) by APP-01 (Coremail) with SMTP id qwCowABHvNpx2DNoYTIIAA--.2286S2; Mon, 26 May 2025 10:56:51 +0800 (CST) From: Wentao Liang To: cw00.choi@samsung.com, krzk@kernel.org, lgirdwood@gmail.com, broonie@kernel.org Cc: linux-kernel@vger.kernel.org, Wentao Liang , stable@vger.kernel.org Subject: [PATCH] regulator: max14577: Add error check for max14577_read_reg() Date: Mon, 26 May 2025 10:56:27 +0800 Message-ID: <20250526025627.407-1-vulab@iscas.ac.cn> X-Mailer: git-send-email 2.42.0.windows.2 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 X-CM-TRANSID: qwCowABHvNpx2DNoYTIIAA--.2286S2 X-Coremail-Antispam: 1UD129KBjvJXoWxJrW3GF4UXF17Jr18XF1kXwb_yoW8Gw1fpw 4UJr1DCr1kJFW8WrWkCayfZ3WYq3y7Jas7C3s5Ga1fZw1jqFnxJ3sxAF4YyFy8tryrXr42 yrZ09wnYk3WYyFJanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUvv14x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26F1j6w1UM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26F4j 6r4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oV Cq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0 I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r 4UM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwCY1x0262kKe7AKxVWU AVWUtwCY02Avz4vE14v_Gr1l42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr 1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE 14v26r126r1DMIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7 IYx2IY6xkF7I0E14v26r1j6r4UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E 87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJbIYCTnIWIevJa73Uj IFyTuYvjfUYBMNUUUUU X-CM-SenderInfo: pyxotu46lvutnvoduhdfq/1tbiCQ8OA2gzuBuhjAAAse Content-Type: text/plain; charset="utf-8" The function max14577_reg_get_current_limit() calls the function max14577_read_reg(), but does not check its return value. A proper implementation can be found in max14577_get_online(). Add a error check for the max14577_read_reg() and return error code if the function fails. Fixes: b0902bbeb768 ("regulator: max14577: Add regulator driver for Maxim 1= 4577") Cc: stable@vger.kernel.org # v3.14 Signed-off-by: Wentao Liang --- drivers/regulator/max14577-regulator.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/regulator/max14577-regulator.c b/drivers/regulator/max= 14577-regulator.c index 5e7171b9065a..41fd15adfd1f 100644 --- a/drivers/regulator/max14577-regulator.c +++ b/drivers/regulator/max14577-regulator.c @@ -40,11 +40,14 @@ static int max14577_reg_get_current_limit(struct regula= tor_dev *rdev) struct max14577 *max14577 =3D rdev_get_drvdata(rdev); const struct maxim_charger_current *limits =3D &maxim_charger_currents[max14577->dev_type]; + int ret; =20 if (rdev_get_id(rdev) !=3D MAX14577_CHARGER) return -EINVAL; =20 - max14577_read_reg(rmap, MAX14577_CHG_REG_CHG_CTRL4, ®_data); + ret =3D max14577_read_reg(rmap, MAX14577_CHG_REG_CHG_CTRL4, ®_data); + if (ret < 0) + return ret; =20 if ((reg_data & CHGCTRL4_MBCICHWRCL_MASK) =3D=3D 0) return limits->min; --=20 2.42.0.windows.2