From b974e2cd683fa798970cd1bdc5e20acfb7a34a9c Mon Sep 17 00:00:00 2001 From: Jon Smirl Date: Thu, 28 Oct 2004 15:52:31 +0000 Subject: Break poll() to make it match the Xserver's broken expectations. --- linux-core/drm_fops.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'linux-core') 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); -- cgit v1.2.3