Message ID | 20180806061910.29914-2-peda@axentia.se (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm: fix some bridge api misunderstandings | expand |
2018-08-06 8:19 GMT+02:00 Peter Rosin <peda@axentia.se>: > Removing the drm_bridge_remove call should avoid a NULL dereference > during list processing in drm_bridge_remove if the error path is ever > taken. > > The more natural approach would perhaps be to add a drm_bridge_add, > but there are several other bridges that never call drm_bridge_add. > Just removing the drm_bridge_remove is the easier fix. > > Fixes: 84601dbdea36 ("drm: sti: rework init sequence") > Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> > Signed-off-by: Peter Rosin <peda@axentia.se> Pushed on drm-misc-next, Thanks, Benjamin > --- > drivers/gpu/drm/sti/sti_hda.c | 1 - > drivers/gpu/drm/sti/sti_hdmi.c | 1 - > 2 files changed, 2 deletions(-) > > diff --git a/drivers/gpu/drm/sti/sti_hda.c b/drivers/gpu/drm/sti/sti_hda.c > index 67bbdb49fffc..199db13f565c 100644 > --- a/drivers/gpu/drm/sti/sti_hda.c > +++ b/drivers/gpu/drm/sti/sti_hda.c > @@ -721,7 +721,6 @@ static int sti_hda_bind(struct device *dev, struct device *master, void *data) > return 0; > > err_sysfs: > - drm_bridge_remove(bridge); > return -EINVAL; > } > > diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c > index 58f431102512..932724784942 100644 > --- a/drivers/gpu/drm/sti/sti_hdmi.c > +++ b/drivers/gpu/drm/sti/sti_hdmi.c > @@ -1315,7 +1315,6 @@ static int sti_hdmi_bind(struct device *dev, struct device *master, void *data) > return 0; > > err_sysfs: > - drm_bridge_remove(bridge); > hdmi->drm_connector = NULL; > return -EINVAL; > } > -- > 2.11.0 >
diff --git a/drivers/gpu/drm/sti/sti_hda.c b/drivers/gpu/drm/sti/sti_hda.c index 67bbdb49fffc..199db13f565c 100644 --- a/drivers/gpu/drm/sti/sti_hda.c +++ b/drivers/gpu/drm/sti/sti_hda.c @@ -721,7 +721,6 @@ static int sti_hda_bind(struct device *dev, struct device *master, void *data) return 0; err_sysfs: - drm_bridge_remove(bridge); return -EINVAL; } diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c index 58f431102512..932724784942 100644 --- a/drivers/gpu/drm/sti/sti_hdmi.c +++ b/drivers/gpu/drm/sti/sti_hdmi.c @@ -1315,7 +1315,6 @@ static int sti_hdmi_bind(struct device *dev, struct device *master, void *data) return 0; err_sysfs: - drm_bridge_remove(bridge); hdmi->drm_connector = NULL; return -EINVAL; }