On Tue, Jun 6, 2017 at 12:44 PM, Arvind Yadav <arvind.yadav.cs@xxxxxxxxx> wrote: > clk_prepare_enable() can fail here and we must check its return value. > @@ -1676,7 +1676,11 @@ static int pxa2xx_spi_probe(struct platform_device *pdev) > - clk_prepare_enable(ssp->clk); > + status = clk_prepare_enable(ssp->clk); This one looks fine. > @@ -1855,8 +1859,13 @@ static int pxa2xx_spi_resume(struct device *dev) > /* Enable the SSP clock */ > - if (!pm_runtime_suspended(dev)) > - clk_prepare_enable(ssp->clk); > + if (!pm_runtime_suspended(dev)) { > + status = clk_prepare_enable(ssp->clk); > + if (status) { > + dev_err(dev, "Failed to prepare clock\n"); > + return status; > + } This... > @@ -1886,8 +1895,7 @@ static int pxa2xx_spi_runtime_resume(struct device *dev) > { > struct driver_data *drv_data = dev_get_drvdata(dev); > > - clk_prepare_enable(drv_data->ssp->clk); > - return 0; > + return clk_prepare_enable(drv_data->ssp->clk); ...and especially this should be carefully checked since there are differences in behaviour how system or driver will be resumed. So, the question is how did you test it? -- With Best Regards, Andy Shevchenko -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html