Message ID | 20181003142458.33120-2-giulio.benetti@micronovasrl.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2,1/2] drm/sun4i: tcon: fix check of tcon->panel null pointer | expand |
On Wed, Oct 03, 2018 at 04:24:58PM +0200, Giulio Benetti wrote: > If using tcon with VGA, We don't have support for VGA at the moment. Or are you talking about using a VGA bridge? > tcon->panel will be null(0), this will cause segmentation fault when > trying to dereference tcon->panel->connector. It's not a segmentation fault, but a null pointer dereference. And that case will also happen with bridges. Maxime
Hi, Il 04/10/2018 21:56, Maxime Ripard ha scritto: > On Wed, Oct 03, 2018 at 04:24:58PM +0200, Giulio Benetti wrote: >> If using tcon with VGA, > > We don't have support for VGA at the moment. Or are you talking about > using a VGA bridge? You're right, in general VGA is not the point. tcon->panel is retrieved by drm_of_find_panel_or_bridge() and panel can be present or not. >> tcon->panel will be null(0), this will cause segmentation fault when >> trying to dereference tcon->panel->connector. > > It's not a segmentation fault, but a null pointer dereference. And > that case will also happen with bridges. Right. Going to improve/rewrite commit logs and submit v2 patchset. Thanks for reviewing. Best regards
diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c index e4b3bd0307ef..f949287d926c 100644 --- a/drivers/gpu/drm/sun4i/sun4i_tcon.c +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c @@ -491,7 +491,8 @@ static void sun4i_tcon0_mode_set_rgb(struct sun4i_tcon *tcon, sun4i_tcon0_mode_set_common(tcon, mode); /* Set dithering if needed */ - sun4i_tcon0_mode_set_dithering(tcon, tcon->panel->connector); + if (tcon->panel) + sun4i_tcon0_mode_set_dithering(tcon, tcon->panel->connector); /* Adjust clock delay */ clk_delay = sun4i_tcon_get_clk_delay(mode, 0);