drm: fix fbs in DRM_IOCTL_MODE_GETRESOURCES ioctl
authorSascha Hauer <s.hauer@pengutronix.de>
Fri, 3 Jun 2011 10:54:14 +0000 (12:54 +0200)
committerDave Airlie <airlied@redhat.com>
Thu, 9 Jun 2011 04:31:09 +0000 (14:31 +1000)
The DRM_IOCTL_MODE_GETRESOURCES ioctl just returns bogus framebuffers.
That is because the framebuffers for each file are in the filp_head
member of struct drm_framebuffer, not in the head member.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/drm_crtc.c

index 872747c..21058e6 100644 (file)
@@ -1113,7 +1113,7 @@ int drm_mode_getresources(struct drm_device *dev, void *data,
        if (card_res->count_fbs >= fb_count) {
                copied = 0;
                fb_id = (uint32_t __user *)(unsigned long)card_res->fb_id_ptr;
-               list_for_each_entry(fb, &file_priv->fbs, head) {
+               list_for_each_entry(fb, &file_priv->fbs, filp_head) {
                        if (put_user(fb->base.id, fb_id + copied)) {
                                ret = -EFAULT;
                                goto out;