diff options
author | Pekka Paalanen <pq@iki.fi> | 2007-07-21 23:13:25 +0300 |
---|---|---|
committer | Pekka Paalanen <pq@iki.fi> | 2007-07-21 23:13:25 +0300 |
commit | 0844c46759b96d52c4952fceb96f7c6bb74b2ce7 (patch) | |
tree | 2c435b4215175d7d766d3ea031431c7a42844664 /linux-core/drm_drv.c | |
parent | b43b0b2b32a31bcb81042659ffcc95b8975e42cf (diff) |
Fix misc ioctl issues, makes Nouveau run.
Debug print fix in drm_release().
Forgotten local variable init in drm_setversion().
Unnecessary put_user() in drm_addmap_ioctl().
ioctl->cmd check broken in drm_ioctl(); workaround.
Diffstat (limited to 'linux-core/drm_drv.c')
-rw-r--r-- | linux-core/drm_drv.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/linux-core/drm_drv.c b/linux-core/drm_drv.c index 8a675790..cc676bda 100644 --- a/linux-core/drm_drv.c +++ b/linux-core/drm_drv.c @@ -602,12 +602,18 @@ int drm_ioctl(struct inode *inode, struct file *filp, retcode = -EINVAL; goto err_i1; } - +#if 0 + /* + * This check is disabled, because driver private ioctl->cmd + * are not the ioctl commands with size and direction bits but + * just the indices. The DRM core ioctl->cmd are the proper ioctl + * commands. The drivers' ioctl tables need to be fixed. + */ if (ioctl->cmd != cmd) { retcode = -EINVAL; goto err_i1; } - +#endif func = ioctl->func; /* is there a local override? */ if ((nr == DRM_IOCTL_NR(DRM_IOCTL_DMA)) && dev->driver->dma_ioctl) |