On Thu, Nov 12, 2015 at 08:26:03AM +0100, LABBE Corentin wrote: > of_match_device could return NULL, and so cause a NULL pointer No. There is no way that of_match_device() can ever fail. The driver core uses the same table to match the OF device to the driver, so the only case where of_match_device() would return NULL is if no match was found, in which case the tegra_i2c_probe() function would never have been called in the first place. Thierry > dereference later at line 809: > i2c_dev->hw = match->data; > > Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> > --- > drivers/i2c/busses/i2c-tegra.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c > index a0522fc..c803551 100644 > --- a/drivers/i2c/busses/i2c-tegra.c > +++ b/drivers/i2c/busses/i2c-tegra.c > @@ -806,7 +806,10 @@ static int tegra_i2c_probe(struct platform_device *pdev) > > if (pdev->dev.of_node) { > const struct of_device_id *match; > + > match = of_match_device(tegra_i2c_of_match, &pdev->dev); > + if (!match) > + return -ENODEV; > i2c_dev->hw = match->data; > i2c_dev->is_dvc = of_device_is_compatible(pdev->dev.of_node, > "nvidia,tegra20-i2c-dvc"); > -- > 2.4.10 >
Attachment:
signature.asc
Description: PGP signature