RE: [PATCHv7 6/8] usb: dwc2: gadget: Do not fail probe if there isn't a clock node

From: Paul Zimmerman
Date: Fri Nov 14 2014 - 16:01:55 EST


> From: dinguyen@xxxxxxxxxxxxxxxxxxxxx [mailto:dinguyen@xxxxxxxxxxxxxxxxxxxxx]
> Sent: Tuesday, November 11, 2014 9:14 AM
>
> From: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx>
>
> Since the dwc2 hcd driver is currently not looking for a clock node during
> init, we should not completely fail if there isn't a clock provided.
> By assigning clk = NULL, this allows the driver, when configured for dual-role
> mode, to be able to continue loading the host portion of the driver when
> a clock node is not specified.
>
> Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx>
> ---
> v7: Reworked to use clk=NULL and remove the need to is IS_ERR(clk)
> v6: none
> v5: reworked to not access gadget functions from the hcd.
> ---
> drivers/usb/dwc2/gadget.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c
> index 37c7916..367689b 100644
> --- a/drivers/usb/dwc2/gadget.c
> +++ b/drivers/usb/dwc2/gadget.c
> @@ -3431,6 +3431,7 @@ int dwc2_gadget_init(struct dwc2_hsotg *hsotg, int irq)
>
> hsotg->clk = devm_clk_get(dev, "otg");
> if (IS_ERR(hsotg->clk)) {
> + hsotg->clk = NULL;
> dev_err(dev, "cannot get otg clock\n");
> return PTR_ERR(hsotg->clk);
> }

Whoops, you just broke the return value, since you NULL out
hsotg->clk and then call PTR_ERR() on it.

--
Paul

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