On Fri, Oct 18, 2019 at 5:35 PM Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote: > > On Fri, Oct 18, 2019 at 8:59 AM Chuhong Yuan <hslester96@xxxxxxxxx> wrote: > > > > pxa2xx_spi_init_pdata misses checks for devm_clk_get and > > platform_get_irq. > > Add checks for them to fix the bugs. > > > > Signed-off-by: Chuhong Yuan <hslester96@xxxxxxxxx> > > --- > > drivers/spi/spi-pxa2xx.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/drivers/spi/spi-pxa2xx.c b/drivers/spi/spi-pxa2xx.c > > index bb6a14d1ab0f..2e73d75a6ac5 100644 > > --- a/drivers/spi/spi-pxa2xx.c > > +++ b/drivers/spi/spi-pxa2xx.c > > @@ -1565,7 +1565,13 @@ pxa2xx_spi_init_pdata(struct platform_device *pdev) > > #endif > > > > ssp->clk = devm_clk_get(&pdev->dev, NULL); > > + if (IS_ERR(ssp->clk)) > > + return NULL; > > + > > ssp->irq = platform_get_irq(pdev, 0); > > + if (ssp->irq < 0) > > + return NULL; > > I'm not sure they are mandatory for all platforms. > To be on the safe side, you simple need to add _optional() to the both > call along with above change. > As I know, this is the only one in spi which does not have a check for devm_clk_get. Even if add _optional(), they still may return errors and need security checks. > -- > With Best Regards, > Andy Shevchenko