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.kozlow...@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.marti...@collabora.co.uk>

Best regards,
Javier
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to