From da2224089fa118c8de100f66b451ce8271f8e75c Mon Sep 17 00:00:00 2001 From: Ander Conselvan de Oliveira Date: Wed, 15 Feb 2012 15:02:24 +0200 Subject: [PATCH] gfx: drv: update meminfo reference count when creating/destroying fbs The fbs may outlive the mem info if the client frees the memory before removing the fb so make sure the memory backing the fb lives as long as the fb itself. Signed-off-by: Ander Conselvan de Oliveira Reviewed-by: Imre Deak Signed-off-by: Kirill A. Shutemov --- drivers/staging/mrst/drv/psb_fb.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/staging/mrst/drv/psb_fb.c b/drivers/staging/mrst/drv/psb_fb.c index 6ccf844..3cab905 100644 --- a/drivers/staging/mrst/drv/psb_fb.c +++ b/drivers/staging/mrst/drv/psb_fb.c @@ -336,6 +336,8 @@ static struct drm_framebuffer *psb_user_framebuffer_create fbdev->psb_fb_helper.fbdev = info; MRSTLFBHandleChangeFB(dev, psbfb); + PVRSRVRefDeviceMemKM(psKernelMemInfo); + return fb; } @@ -587,6 +589,9 @@ static void psb_user_framebuffer_destroy(struct drm_framebuffer *fb) /*ummap gtt pages*/ psb_gtt_unmap_meminfo(dev, psbfb->pvrBO); + + PVRSRVUnrefDeviceMemKM(psbfb->pvrBO); + if (psbfb->fbdev) psbfb_remove(dev, fb); -- 2.7.4