summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMeng Mingming <mingming.meng@nxp.com>2017-12-20 09:30:27 +0800
committerMeng Mingming <mingming.meng@nxp.com>2017-12-20 18:11:24 +0800
commit912bad7ca73ce79148f8019a68291869802914c8 (patch)
tree3daafe827efb9bd3fbcd78213ba003275f253a0c
parent77e864241cb2f5dca0583ef87e05df0c372cf42e (diff)
MLK-17204-2 drm/imx: dpu: Set driver data as null when to unbind device
Set driver data as null when to unbind device. Signed-off-by: Meng Mingming <mingming.meng@nxp.com> (cherry picked from commit 70f70fad106200b55f3a417c7c76130711690b4f)
-rw-r--r--drivers/gpu/drm/imx/dpu/dpu-blit.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/imx/dpu/dpu-blit.c b/drivers/gpu/drm/imx/dpu/dpu-blit.c
index 164f651742a1..fb9aea817f0b 100644
--- a/drivers/gpu/drm/imx/dpu/dpu-blit.c
+++ b/drivers/gpu/drm/imx/dpu/dpu-blit.c
@@ -226,6 +226,7 @@ static void dpu_bliteng_unbind(struct device *dev, struct device *master,
list_del(&bliteng->list);
dpu_bliteng_fini(dpu_bliteng);
+ dev_set_drvdata(dev, NULL);
imx_dpu_num--;
@@ -262,6 +263,9 @@ static int dpu_bliteng_suspend(struct device *dev)
struct dpu_bliteng *dpu_bliteng = dev_get_drvdata(dev);
int ret;
+ if (dpu_bliteng == NULL)
+ return 0;
+
retry:
ret = dpu_be_get(dpu_bliteng);
if (ret == -EBUSY)
@@ -280,7 +284,8 @@ static int dpu_bliteng_resume(struct device *dev)
{
struct dpu_bliteng *dpu_bliteng = dev_get_drvdata(dev);
- dpu_bliteng_init(dpu_bliteng);
+ if (dpu_bliteng != NULL)
+ dpu_bliteng_init(dpu_bliteng);
return 0;
}