lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <648bbc3e-6690-9b05-cae5-bf81edbec74a@i2se.com>
Date:   Wed, 13 Feb 2019 09:46:10 +0100
From:   Stefan Wahren <stefan.wahren@...e.com>
To:     Eric Anholt <eric@...olt.net>,
        Florian Fainelli <f.fainelli@...il.com>
Cc:     linux-rpi-kernel@...ts.infradead.org,
        linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
        bcm-kernel-feedback-list@...adcom.com
Subject: [PATCH 2/2] soc: bcm: bcm2835-pm: Fix error paths of initialization.

Hi Eric,

Am 13.02.19 um 01:33 schrieb Eric Anholt:
> The clock driver may probe after ours and so we need to pass the
> -EPROBE_DEFER out.  Fix the other error path while we're here.
>
> Signed-off-by: Eric Anholt <eric@...olt.net>
> Fixes: 670c672608a1 ("soc: bcm: bcm2835-pm: Add support for power domains under a new binding.")
> ---
>  drivers/soc/bcm/bcm2835-power.c | 30 +++++++++++++++++++++++++-----
>  1 file changed, 25 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/soc/bcm/bcm2835-power.c b/drivers/soc/bcm/bcm2835-power.c
> index 4a1b99b773c0..11f9469423f7 100644
> --- a/drivers/soc/bcm/bcm2835-power.c
> +++ b/drivers/soc/bcm/bcm2835-power.c
> @@ -485,7 +485,7 @@ static int bcm2835_power_pd_power_off(struct generic_pm_domain *domain)
>  	}
>  }
>  
> -static void
> +static int
>  bcm2835_init_power_domain(struct bcm2835_power *power,
>  			  int pd_xlate_index, const char *name)
>  {
> @@ -493,6 +493,12 @@ bcm2835_init_power_domain(struct bcm2835_power *power,
>  	struct bcm2835_power_domain *dom = &power->domains[pd_xlate_index];
>  
>  	dom->clk = devm_clk_get(dev->parent, name);
> +	if (IS_ERR(dom->clk)) {
> +		int ret = PTR_ERR(dom->clk);
> +
> +		if (ret == -EPROBE_DEFER)
> +			return ret;
is it safe to proceed in the other error cases?
Even it would be more consistent with clk_prepare_enable() to print an
error here.
> +	}
>  
>  	

Thanks
Stefan

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ