The "lvds->backlight" pointer could be NULl if of_parse_phandle() returns NULL.
Fixes: 7c9dff5bd643 ("drm: panels: Add LVDS panel driver") Signed-off-by: Dan Carpenter dan.carpenter@oracle.com --- drivers/gpu/drm/panel/panel-lvds.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/panel/panel-lvds.c b/drivers/gpu/drm/panel/panel-lvds.c index ad47cc95459e..3b4eb959e994 100644 --- a/drivers/gpu/drm/panel/panel-lvds.c +++ b/drivers/gpu/drm/panel/panel-lvds.c @@ -272,7 +272,8 @@ static int panel_lvds_probe(struct platform_device *pdev) return 0;
error: - put_device(&lvds->backlight->dev); + if (lvds->backlight) + put_device(&lvds->backlight->dev); return ret; }
Hi Dan,
Thank you for the patch.
On Wed, Sep 04, 2019 at 01:03:29PM +0300, Dan Carpenter wrote:
The "lvds->backlight" pointer could be NULl if of_parse_phandle() returns NULL.
Fixes: 7c9dff5bd643 ("drm: panels: Add LVDS panel driver") Signed-off-by: Dan Carpenter dan.carpenter@oracle.com
drivers/gpu/drm/panel/panel-lvds.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/panel/panel-lvds.c b/drivers/gpu/drm/panel/panel-lvds.c index ad47cc95459e..3b4eb959e994 100644 --- a/drivers/gpu/drm/panel/panel-lvds.c +++ b/drivers/gpu/drm/panel/panel-lvds.c @@ -272,7 +272,8 @@ static int panel_lvds_probe(struct platform_device *pdev) return 0;
error:
- put_device(&lvds->backlight->dev);
- if (lvds->backlight)
put_device(&lvds->backlight->dev);
How about simply
- put_device(&lvds->backlight->dev); + backlight_put(lvds->backlight);
?
return ret; }
On Wed, Sep 04, 2019 at 02:50:57PM +0300, Laurent Pinchart wrote:
error:
- put_device(&lvds->backlight->dev);
- if (lvds->backlight)
put_device(&lvds->backlight->dev);
How about simply
- put_device(&lvds->backlight->dev);
- backlight_put(lvds->backlight);
Yeah. That's cleaner. I will resend.
regards, dan carpenter
The "lvds->backlight" pointer could be NULL in situations were of_parse_phandle() returns NULL. Also it's slightly cleaner to use backlight_put() which already has a check for NULL built in.
Fixes: 7c9dff5bd643 ("drm: panels: Add LVDS panel driver") Signed-off-by: Dan Carpenter dan.carpenter@oracle.com --- v2: Use backlight_put(). Thanks, Laurent!
drivers/gpu/drm/panel/panel-lvds.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/panel/panel-lvds.c b/drivers/gpu/drm/panel/panel-lvds.c index ad47cc95459e..05e8885db7ed 100644 --- a/drivers/gpu/drm/panel/panel-lvds.c +++ b/drivers/gpu/drm/panel/panel-lvds.c @@ -272,7 +272,7 @@ static int panel_lvds_probe(struct platform_device *pdev) return 0;
error: - put_device(&lvds->backlight->dev); + backlight_put(lvds->backlight); return ret; }
Hi Dan,
Thank you for the patch.
On Wed, Sep 04, 2019 at 09:55:07PM +0300, Dan Carpenter wrote:
The "lvds->backlight" pointer could be NULL in situations were of_parse_phandle() returns NULL. Also it's slightly cleaner to use backlight_put() which already has a check for NULL built in.
Fixes: 7c9dff5bd643 ("drm: panels: Add LVDS panel driver") Signed-off-by: Dan Carpenter dan.carpenter@oracle.com
Reviewed-by: Laurent Pinchart laurent.pinchart@ideasonboard.com
Sam, would you be able to pick this patch ?
v2: Use backlight_put(). Thanks, Laurent!
drivers/gpu/drm/panel/panel-lvds.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/panel/panel-lvds.c b/drivers/gpu/drm/panel/panel-lvds.c index ad47cc95459e..05e8885db7ed 100644 --- a/drivers/gpu/drm/panel/panel-lvds.c +++ b/drivers/gpu/drm/panel/panel-lvds.c @@ -272,7 +272,7 @@ static int panel_lvds_probe(struct platform_device *pdev) return 0;
error:
- put_device(&lvds->backlight->dev);
- backlight_put(lvds->backlight); return ret;
}
Hi Dan.
On Wed, Sep 04, 2019 at 09:55:07PM +0300, Dan Carpenter wrote:
The "lvds->backlight" pointer could be NULL in situations were of_parse_phandle() returns NULL. Also it's slightly cleaner to use backlight_put() which already has a check for NULL built in.
Fixes: 7c9dff5bd643 ("drm: panels: Add LVDS panel driver") Signed-off-by: Dan Carpenter dan.carpenter@oracle.com
A much better fix would be to introduce use of devm_of_find_backlight(). Then you do not have to worry about put().
Care to respin a v3 that does this?
Sam
On Sun, Sep 08, 2019 at 06:04:28PM +0200, Sam Ravnborg wrote:
Hi Dan.
On Wed, Sep 04, 2019 at 09:55:07PM +0300, Dan Carpenter wrote:
The "lvds->backlight" pointer could be NULL in situations were of_parse_phandle() returns NULL. Also it's slightly cleaner to use backlight_put() which already has a check for NULL built in.
Fixes: 7c9dff5bd643 ("drm: panels: Add LVDS panel driver") Signed-off-by: Dan Carpenter dan.carpenter@oracle.com
A much better fix would be to introduce use of devm_of_find_backlight(). Then you do not have to worry about put().
Care to respin a v3 that does this?
Sure. That does look nice. I will resend tomorrow.
regards, dan carpenter
dri-devel@lists.freedesktop.org