linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <k.kozlowski@samsung.com>
To: Samuel Ortiz <sameo@linux.intel.com>,
	Lee Jones <lee.jones@linaro.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	linux-kernel@vger.kernel.org
Cc: Kyungmin Park <kyungmin.park@samsung.com>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	Javier Martinez Canillas <javier.martinez@collabora.co.uk>,
	Krzysztof Kozlowski <k.kozlowski@samsung.com>
Subject: [RFT 3/6] regulator: max77802: Don't ignore return value of current opmode
Date: Tue, 04 Nov 2014 09:49:43 +0100	[thread overview]
Message-ID: <1415090986-30623-4-git-send-email-k.kozlowski@samsung.com> (raw)
In-Reply-To: <1415090986-30623-1-git-send-email-k.kozlowski@samsung.com>

The return value of regmap_read() of current opmode for regulator was
silently ignored and whatever happened to be in 'val' variable was used
as new opmode. This could lead to using bogus opmode.

Don't ignore what regmap_read() returns. If it fails just fall back to
normal opmode.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reviewed-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
---
 drivers/regulator/max77802.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/regulator/max77802.c b/drivers/regulator/max77802.c
index a0d146278b76..7cbff7038b43 100644
--- a/drivers/regulator/max77802.c
+++ b/drivers/regulator/max77802.c
@@ -606,7 +606,13 @@ static int max77802_pmic_probe(struct platform_device *pdev)
 		config.of_node = pdata->regulators[i].of_node;
 
 		ret = regmap_read(iodev->regmap, regulators[i].enable_reg, &val);
-		val = val >> shift & MAX77802_OPMODE_MASK;
+		if (ret < 0) {
+			dev_warn(&pdev->dev,
+				"cannot read current mode for %d\n", i);
+			val = MAX77802_OPMODE_NORMAL;
+		} else {
+			val = val >> shift & MAX77802_OPMODE_MASK;
+		}
 
 		/*
 		 * If the regulator is disabled and the system warm rebooted,
-- 
1.9.1


  parent reply	other threads:[~2014-11-04  8:51 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-04  8:49 [PATCH 0/6] regulator: max77686/802: Cleanup Krzysztof Kozlowski
2014-11-04  8:49 ` [PATCH 1/6] regulator: max77686: Consistently index opmode array by rdev id Krzysztof Kozlowski
2014-11-04 20:41   ` Mark Brown
2014-11-04  8:49 ` [PATCH 2/6] regulator: max77686: Initialize opmode explicitly to normal mode Krzysztof Kozlowski
2014-11-04 20:42   ` Mark Brown
2014-11-04  8:49 ` Krzysztof Kozlowski [this message]
2014-11-04 20:47   ` [RFT 3/6] regulator: max77802: Don't ignore return value of current opmode Mark Brown
2014-11-04  8:49 ` [RFT 4/6] regulator: max77802: Remove support for board files Krzysztof Kozlowski
2014-11-04  8:49 ` [PATCH 5/6] regulator: max77686: " Krzysztof Kozlowski
2014-11-04 20:46   ` Mark Brown
2014-11-05  8:33     ` Krzysztof Kozlowski
2014-11-04  8:49 ` [PATCH 6/6] mfd: max77686/802: " Krzysztof Kozlowski
2014-11-04  9:24 ` [PATCH 0/6] regulator: max77686/802: Cleanup Javier Martinez Canillas
2014-11-04  9:25 ` Krzysztof Kozlowski
2014-11-04 20:42   ` Mark Brown
2014-11-05  8:34     ` Krzysztof Kozlowski

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=1415090986-30623-4-git-send-email-k.kozlowski@samsung.com \
    --to=k.kozlowski@samsung.com \
    --cc=b.zolnierkie@samsung.com \
    --cc=broonie@kernel.org \
    --cc=javier.martinez@collabora.co.uk \
    --cc=kyungmin.park@samsung.com \
    --cc=lee.jones@linaro.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=sameo@linux.intel.com \
    /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: link
Be 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).