diff mbox

Input: evdev - Avoid duplicate checking of empty SYN_REPORT

Message ID 1451517958-2173-1-git-send-email-a.mathur@samsung.com (mailing list archive)
State Rejected
Headers show

Commit Message

Aniroop Mathur Dec. 30, 2015, 11:25 p.m. UTC
Input core already drops empty syn_report event so there is no need
to check again for dropping empty syn_report event in evdev handler
for all clients on every new event.

Signed-off-by: Aniroop Mathur <a.mathur@samsung.com>
---
 drivers/input/evdev.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

Comments

Dmitry Torokhov Jan. 3, 2016, 4:31 a.m. UTC | #1
Hi Aniroop,

On Thu, Dec 31, 2015 at 04:55:58AM +0530, Aniroop Mathur wrote:
> Input core already drops empty syn_report event so there is no need
> to check again for dropping empty syn_report event in evdev handler
> for all clients on every new event.

This reasoning is flawed: if all events from the packet are filtered out
for the given client we should be suppressing EV_SYN/SYN_REPORT pair as
well.

Thanks.

> 
> Signed-off-by: Aniroop Mathur <a.mathur@samsung.com>
> ---
>  drivers/input/evdev.c | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c
> index e9ae3d5..6e242b7 100644
> --- a/drivers/input/evdev.c
> +++ b/drivers/input/evdev.c
> @@ -276,13 +276,8 @@ static void evdev_pass_values(struct evdev_client *client,
>  		if (__evdev_is_filtered(client, v->type, v->code))
>  			continue;
>  
> -		if (v->type == EV_SYN && v->code == SYN_REPORT) {
> -			/* drop empty SYN_REPORT */
> -			if (client->packet_head == client->head)
> -				continue;
> -
> +		if (v->type == EV_SYN && v->code == SYN_REPORT)
>  			wakeup = true;
> -		}
>  
>  		event.type = v->type;
>  		event.code = v->code;
> -- 
> 2.6.2
>
diff mbox

Patch

diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c
index e9ae3d5..6e242b7 100644
--- a/drivers/input/evdev.c
+++ b/drivers/input/evdev.c
@@ -276,13 +276,8 @@  static void evdev_pass_values(struct evdev_client *client,
 		if (__evdev_is_filtered(client, v->type, v->code))
 			continue;
 
-		if (v->type == EV_SYN && v->code == SYN_REPORT) {
-			/* drop empty SYN_REPORT */
-			if (client->packet_head == client->head)
-				continue;
-
+		if (v->type == EV_SYN && v->code == SYN_REPORT)
 			wakeup = true;
-		}
 
 		event.type = v->type;
 		event.code = v->code;