summaryrefslogtreecommitdiff
path: root/linux-core
diff options
context:
space:
mode:
authorJon Smirl <jonsmirl@yahoo.com>2004-10-28 15:52:31 +0000
committerJon Smirl <jonsmirl@yahoo.com>2004-10-28 15:52:31 +0000
commitb974e2cd683fa798970cd1bdc5e20acfb7a34a9c (patch)
tree4df68c4b966dfe329167d88b3b71f51dddab92b5 /linux-core
parent486a84d70c31423a849cd88dbd91ced2dcf83742 (diff)
Break poll() to make it match the Xserver's broken expectations.
Diffstat (limited to 'linux-core')
-rw-r--r--linux-core/drm_fops.c11
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);