RE: [PATCH] usb: phy: phy-mxs-usb: Check the return value from clk_prepare_enable()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 
> 
> clk_prepare_enable() may fail, so let's check its return value and
> propagate it
> in the case of error.
> 
> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
> ---
>  drivers/usb/phy/phy-mxs-usb.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/phy/phy-mxs-usb.c b/drivers/usb/phy/phy-mxs-
> usb.c
> index 545844b..2d0bc5a 100644
> --- a/drivers/usb/phy/phy-mxs-usb.c
> +++ b/drivers/usb/phy/phy-mxs-usb.c
> @@ -63,9 +63,13 @@ static int mxs_phy_hw_init(struct mxs_phy *mxs_phy)
> 
>  static int mxs_phy_init(struct usb_phy *phy)
>  {
> +	int ret;
>  	struct mxs_phy *mxs_phy = to_mxs_phy(phy);
> 
> -	clk_prepare_enable(mxs_phy->clk);
> +	ret = clk_prepare_enable(mxs_phy->clk);
> +	if (ret)
> +		return ret;
> +
>  	return mxs_phy_hw_init(mxs_phy);
>  }
> 
> @@ -81,6 +85,7 @@ static void mxs_phy_shutdown(struct usb_phy *phy)
> 
>  static int mxs_phy_suspend(struct usb_phy *x, int suspend)
>  {
> +	int ret;
>  	struct mxs_phy *mxs_phy = to_mxs_phy(x);
> 
>  	if (suspend) {
> @@ -89,7 +94,9 @@ static int mxs_phy_suspend(struct usb_phy *x, int
> suspend)
>  		       x->io_priv + HW_USBPHY_CTRL_SET);
>  		clk_disable_unprepare(mxs_phy->clk);
>  	} else {
> -		clk_prepare_enable(mxs_phy->clk);
> +		ret = clk_prepare_enable(mxs_phy->clk);
> +		if (ret)
> +			return ret;
>  		writel(BM_USBPHY_CTRL_CLKGATE,
>  		       x->io_priv + HW_USBPHY_CTRL_CLR);
>  		writel(0, x->io_priv + HW_USBPHY_PWD);
> --
 
Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>

Peter


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux