lkml.org 
[lkml]   [2014]   [Oct]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFT v3 05/14] regulator: max77802: Don't ignore return value of current opmode
Hello Krzysztof,

On 10/30/2014 12:20 PM, Krzysztof Kozlowski wrote:
> 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>
> ---
> 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 b9958d927297..60daca2028e9 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,
>

Reviewed-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>

Best regards,
Javier


\
 
 \ /
  Last update: 2014-10-30 13:21    [W:0.218 / U:0.764 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site