diff options
author | Jon Smirl <jonsmirl@yahoo.com> | 2004-10-28 15:52:31 +0000 |
---|---|---|
committer | Jon Smirl <jonsmirl@yahoo.com> | 2004-10-28 15:52:31 +0000 |
commit | b974e2cd683fa798970cd1bdc5e20acfb7a34a9c (patch) | |
tree | 4df68c4b966dfe329167d88b3b71f51dddab92b5 | |
parent | 486a84d70c31423a849cd88dbd91ced2dcf83742 (diff) |
Break poll() to make it match the Xserver's broken expectations.
-rw-r--r-- | linux-core/drm_fops.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/linux-core/drm_fops.c b/linux-core/drm_fops.c index a8d5651c..1209a8ab 100644 --- a/linux-core/drm_fops.c +++ b/linux-core/drm_fops.c @@ -472,14 +472,15 @@ EXPORT_SYMBOL(drm_release); /** No-op. */ /* This is to deal with older X servers that believe 0 means data is * available which is not the correct return for a poll function. - * By alternating returns both interfaces are happy. This is fixed - * in newer X servers. + * This cannot be fixed until the Xserver is fixed. Xserver will need + * to set a newer interface version to avoid breaking older Xservers. + * Without fixing the Xserver you get: "WaitForSomething(): select: errno=22" + * http://freedesktop.org/bugzilla/show_bug.cgi?id=1505 if you try + * to return the correct response. */ unsigned int drm_poll(struct file *filp, struct poll_table_struct *wait) { - static int flip; - if ((flip = !flip)) - return (POLLIN | POLLOUT | POLLRDNORM | POLLWRNORM); + /* return (POLLIN | POLLOUT | POLLRDNORM | POLLWRNORM); */ return 0; } EXPORT_SYMBOL(drm_poll); |