Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6b0e284c authored by benjamin.gaignard@linaro.org's avatar benjamin.gaignard@linaro.org Committed by Benjamin Gaignard
Browse files

drm/bridge: make drm_panel_bridge_remove more robust



Make sure that bridge parameter is not NULL and can be safely
cast into a panel_bridge structure.

Signed-off-by: default avatarBenjamin Gaignard <benjamin.gaignard@linaro.org>
Reviewed-by: default avatarPhilippe Cornu <philippe.cornu@st.com>
Tested-by: default avatarPhilippe Cornu <philippe.cornu@st.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1506936755-23625-2-git-send-email-benjamin.gaignard@linaro.org
parent f8e0731d
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -188,7 +188,15 @@ EXPORT_SYMBOL(drm_panel_bridge_add);
 */
void drm_panel_bridge_remove(struct drm_bridge *bridge)
{
	struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge);
	struct panel_bridge *panel_bridge;

	if (!bridge)
		return;

	if (bridge->funcs != &panel_bridge_bridge_funcs)
		return;

	panel_bridge = drm_bridge_to_panel_bridge(bridge);

	drm_bridge_remove(bridge);
	devm_kfree(panel_bridge->panel->dev, bridge);