From patchwork Wed Mar 23 01:04:04 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Brown X-Patchwork-Id: 653941 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id p2N14rre013912 for ; Wed, 23 Mar 2011 01:04:53 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753060Ab1CWBEs (ORCPT ); Tue, 22 Mar 2011 21:04:48 -0400 Received: from mail-iy0-f174.google.com ([209.85.210.174]:59781 "EHLO mail-iy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753046Ab1CWBEU (ORCPT ); Tue, 22 Mar 2011 21:04:20 -0400 Received: by mail-iy0-f174.google.com with SMTP id 26so8031243iyb.19 for ; Tue, 22 Mar 2011 18:04:20 -0700 (PDT) Received: by 10.42.247.200 with SMTP id md8mr220683icb.111.1300842260020; Tue, 22 Mar 2011 18:04:20 -0700 (PDT) Received: from localhost.localdomain (daedalus.mtv.corp.google.com [172.18.103.24]) by mx.google.com with ESMTPS id i2sm4933510icv.15.2011.03.22.18.04.18 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 22 Mar 2011 18:04:19 -0700 (PDT) From: Jeff Brown To: linux-input@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Jeff Brown Subject: [PATCH 4/4] input: evdev: only wake poll on EV_SYN Date: Tue, 22 Mar 2011 18:04:04 -0700 Message-Id: <1300842244-42723-5-git-send-email-jeffbrown@android.com> X-Mailer: git-send-email 1.7.0.4 In-Reply-To: <1300842244-42723-1-git-send-email-jeffbrown@android.com> References: <1300842244-42723-1-git-send-email-jeffbrown@android.com> Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Wed, 23 Mar 2011 01:04:54 +0000 (UTC) diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index 203ed70..7b6770d 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c @@ -73,7 +73,7 @@ static void evdev_pass_event(struct evdev_client *client, } spin_unlock(&client->buffer_lock); - if (event->type == EV_SYN) + if (event->type == EV_SYN && event->code != SYN_MT_REPORT) kill_fasync(&client->fasync, SIGIO, POLL_IN); } @@ -103,7 +103,8 @@ static void evdev_event(struct input_handle *handle, rcu_read_unlock(); - wake_up_interruptible(&evdev->wait); + if (type == EV_SYN && code != SYN_MT_REPORT) + wake_up_interruptible(&evdev->wait); } static int evdev_fasync(int fd, struct file *file, int on)