On Wed, 14 Jun 2017, Arvind Yadav wrote: > clk_prepare_enable() can fail here and we must check its return value. > > Signed-off-by: Arvind Yadav <arvind.yadav.cs@xxxxxxxxx> > --- > drivers/usb/host/ohci-pxa27x.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/host/ohci-pxa27x.c b/drivers/usb/host/ohci-pxa27x.c > index 79efde8f..c5afdb2 100644 > --- a/drivers/usb/host/ohci-pxa27x.c > +++ b/drivers/usb/host/ohci-pxa27x.c > @@ -281,7 +281,9 @@ static int pxa27x_start_hc(struct pxa27x_ohci *pxa_ohci, struct device *dev) > > inf = dev_get_platdata(dev); > > - clk_prepare_enable(pxa_ohci->clk); > + retval = clk_prepare_enable(pxa_ohci->clk); > + if (retval) > + return retval; You might as well remove the initializer for retval ("int retval = 0;") because the initial value will always be overwritten here. > > pxa27x_reset_hc(pxa_ohci); > > @@ -296,8 +298,10 @@ static int pxa27x_start_hc(struct pxa27x_ohci *pxa_ohci, struct device *dev) > if (inf->init) > retval = inf->init(dev); > > - if (retval < 0) > + if (retval < 0) { > + clk_disable_unprepare(pxa_ohci->clk); > return retval; > + } > > if (cpu_is_pxa3xx()) > pxa3xx_u2d_start_hc(&hcd->self); Aside from that one issue, Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Alan Stern -- 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