summaryrefslogtreecommitdiff
path: root/linux-core/intel_fb.c
diff options
context:
space:
mode:
authorHong Liu <hong.liu@intel.com>2008-05-09 10:06:17 +0800
committerJesse Barnes <jbarnes@nietzche.virtuousgeek.org>2008-05-12 12:31:56 -0700
commita51e38548cfdece2978e9b5f0d6f0467ba7a7272 (patch)
treebe8ee6a1f706d4e75a17cb04c2480e7501dc3b63 /linux-core/intel_fb.c
parentb2dee13f5d7209b62c5e9ba8cd059717a8302fec (diff)
fix kernel oops when removing fb
drm_crtc->fb may point to NULL, f.e X server will allocate a new fb and assign it to the CRTC at startup, when X server exits, it will destroy the allocated fb, making drm_crtc->fb points to NULL.
Diffstat (limited to 'linux-core/intel_fb.c')
-rw-r--r--linux-core/intel_fb.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/linux-core/intel_fb.c b/linux-core/intel_fb.c
index 50c24a75..9934e3af 100644
--- a/linux-core/intel_fb.c
+++ b/linux-core/intel_fb.c
@@ -767,9 +767,8 @@ int intelfb_probe(struct drm_device *dev, struct drm_crtc *crtc, struct drm_outp
}
EXPORT_SYMBOL(intelfb_probe);
-int intelfb_remove(struct drm_device *dev, struct drm_crtc *crtc)
+int intelfb_remove(struct drm_device *dev, struct drm_framebuffer *fb)
{
- struct drm_framebuffer *fb = crtc->fb;
struct fb_info *info;
if (!fb)
@@ -784,7 +783,6 @@ int intelfb_remove(struct drm_device *dev, struct drm_crtc *crtc)
drm_framebuffer_destroy(fb);
framebuffer_release(info);
}
- crtc->fb = NULL;
return 0;
}
EXPORT_SYMBOL(intelfb_remove);