summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
authorRob Clark2014-04-25 18:30:53 +0200
committerRob Clark2014-05-30 21:29:42 +0200
commit8a57e95057acdc37362f09ede3d7520f71de6f93 (patch)
treed177eb03a64cbe7b64859a6064a4809ac10a1bb8 /drivers/gpu/drm
parentdrm: add DP MST encoder type (diff)
downloadkernel-qcow2-linux-8a57e95057acdc37362f09ede3d7520f71de6f93.tar.gz
kernel-qcow2-linux-8a57e95057acdc37362f09ede3d7520f71de6f93.tar.xz
kernel-qcow2-linux-8a57e95057acdc37362f09ede3d7520f71de6f93.zip
drm/msm/mdp5: fix crash in error/unload paths
Signed-off-by: Rob Clark <robdclark@gmail.com>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r--drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
index 47f7bbb9c15a..f3daec4412ad 100644
--- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
+++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
@@ -85,8 +85,11 @@ static int mdp5_plane_disable(struct drm_plane *plane)
static void mdp5_plane_destroy(struct drm_plane *plane)
{
struct mdp5_plane *mdp5_plane = to_mdp5_plane(plane);
+ struct msm_drm_private *priv = plane->dev->dev_private;
+
+ if (priv->kms)
+ mdp5_plane_disable(plane);
- mdp5_plane_disable(plane);
drm_plane_cleanup(plane);
kfree(mdp5_plane);