On Fri, Jan 27, 2017 at 04:41:50PM +0530, Shailendra Verma wrote: > of_match_device could return NULL, and so can cause a NULL > pointer dereference later. > > Signed-off-by: Shailendra Verma <shailendra.v@xxxxxxxxxxx> > --- > drivers/gpu/drm/rockchip/dw-mipi-dsi.c | 13 ++++++++++--- > 1 file changed, 10 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > index ca22e5e..dbb99cf 100644 > --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c > @@ -1082,15 +1082,22 @@ static enum drm_mode_status rk3288_mipi_dsi_mode_valid( > static int dw_mipi_dsi_bind(struct device *dev, struct device *master, > void *data) > { > - const struct of_device_id *of_id = > - of_match_device(dw_mipi_dsi_dt_ids, dev); > - const struct dw_mipi_dsi_plat_data *pdata = of_id->data; > + const struct of_device_id *of_id; > + const struct dw_mipi_dsi_plat_data *pdata; > struct platform_device *pdev = to_platform_device(dev); > struct drm_device *drm = data; > struct dw_mipi_dsi *dsi; > struct resource *res; > int ret; > > + of_id = of_match_device(dw_mipi_dsi_dt_ids, dev); > + if (!of_id) { > + dev_err(dev, "Error: No device match found\n"); > + return -ENODEV; > + } > + > + pdata = of_id->data; > + > dsi = devm_kzalloc(dev, sizeof(*dsi), GFP_KERNEL); > if (!dsi) > return -ENOMEM; Hello You could use of_device_get_match_data() Regards Corentin Labbe _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel