mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] V4L: dvb-usb, add extra sync to down-up input events
@ 2010-02-14 20:36 Jiri Slaby
  2010-02-16 17:30 ` Dmitry Torokhov
  0 siblings, 1 reply; 2+ messages in thread
From: Jiri Slaby @ 2010-02-14 20:36 UTC (permalink / raw)
  To: mchehab
  Cc: linux-media, linux-kernel, jirislaby, Dmitry Torokhov,
	Mauro Carvalho Chehab

Userspace is allowed to coalesce events between SYNCs. And since the code
emits UP right after DOWN for the same key, it may be missed
(up+down=nothing). Add an extra sync in between UP and DOWN events to disable
the coalesce.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Dmitry Torokhov <dtor@mail.ru>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: linux-media@vger.kernel.org
---
 drivers/media/dvb/dvb-usb/dib0700_core.c   |    1 +
 drivers/media/dvb/dvb-usb/dvb-usb-remote.c |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/media/dvb/dvb-usb/dib0700_core.c b/drivers/media/dvb/dvb-usb/dib0700_core.c
index 4450214..4f961d2 100644
--- a/drivers/media/dvb/dvb-usb/dib0700_core.c
+++ b/drivers/media/dvb/dvb-usb/dib0700_core.c
@@ -612,6 +612,7 @@ static void dib0700_rc_urb_completion(struct urb *purb)
 	case REMOTE_KEY_REPEAT:
 		deb_info("key repeated\n");
 		input_event(d->rc_input_dev, EV_KEY, event, 1);
+		input_sync(d->rc_input_dev);
 		input_event(d->rc_input_dev, EV_KEY, d->last_event, 0);
 		input_sync(d->rc_input_dev);
 		break;
diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-remote.c b/drivers/media/dvb/dvb-usb/dvb-usb-remote.c
index 6b5ded9..a03ef7e 100644
--- a/drivers/media/dvb/dvb-usb/dvb-usb-remote.c
+++ b/drivers/media/dvb/dvb-usb/dvb-usb-remote.c
@@ -107,6 +107,7 @@ static void dvb_usb_read_remote_control(struct work_struct *work)
 		case REMOTE_KEY_REPEAT:
 			deb_rc("key repeated\n");
 			input_event(d->rc_input_dev, EV_KEY, event, 1);
+			input_sync(d->rc_input_dev);
 			input_event(d->rc_input_dev, EV_KEY, d->last_event, 0);
 			input_sync(d->rc_input_dev);
 			break;
-- 
1.6.6.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] V4L: dvb-usb, add extra sync to down-up input events
  2010-02-14 20:36 [PATCH] V4L: dvb-usb, add extra sync to down-up input events Jiri Slaby
@ 2010-02-16 17:30 ` Dmitry Torokhov
  0 siblings, 0 replies; 2+ messages in thread
From: Dmitry Torokhov @ 2010-02-16 17:30 UTC (permalink / raw)
  To: Jiri Slaby
  Cc: mchehab, linux-media, linux-kernel, jirislaby, Mauro Carvalho Chehab

Hi Jiri,

On Sun, Feb 14, 2010 at 09:36:25PM +0100, Jiri Slaby wrote:
> Userspace is allowed to coalesce events between SYNCs. And since the code
> emits UP right after DOWN for the same key, it may be missed
> (up+down=nothing). Add an extra sync in between UP and DOWN events to disable
> the coalesce.
> 
> Signed-off-by: Jiri Slaby <jslaby@suse.cz>

Looks good.

Acked-by: Dmitry Torokhov <dtor@mail.ru>

> Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
> Cc: linux-media@vger.kernel.org
> ---
>  drivers/media/dvb/dvb-usb/dib0700_core.c   |    1 +
>  drivers/media/dvb/dvb-usb/dvb-usb-remote.c |    1 +
>  2 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/media/dvb/dvb-usb/dib0700_core.c b/drivers/media/dvb/dvb-usb/dib0700_core.c
> index 4450214..4f961d2 100644
> --- a/drivers/media/dvb/dvb-usb/dib0700_core.c
> +++ b/drivers/media/dvb/dvb-usb/dib0700_core.c
> @@ -612,6 +612,7 @@ static void dib0700_rc_urb_completion(struct urb *purb)
>  	case REMOTE_KEY_REPEAT:
>  		deb_info("key repeated\n");
>  		input_event(d->rc_input_dev, EV_KEY, event, 1);
> +		input_sync(d->rc_input_dev);
>  		input_event(d->rc_input_dev, EV_KEY, d->last_event, 0);
>  		input_sync(d->rc_input_dev);
>  		break;
> diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-remote.c b/drivers/media/dvb/dvb-usb/dvb-usb-remote.c
> index 6b5ded9..a03ef7e 100644
> --- a/drivers/media/dvb/dvb-usb/dvb-usb-remote.c
> +++ b/drivers/media/dvb/dvb-usb/dvb-usb-remote.c
> @@ -107,6 +107,7 @@ static void dvb_usb_read_remote_control(struct work_struct *work)
>  		case REMOTE_KEY_REPEAT:
>  			deb_rc("key repeated\n");
>  			input_event(d->rc_input_dev, EV_KEY, event, 1);
> +			input_sync(d->rc_input_dev);
>  			input_event(d->rc_input_dev, EV_KEY, d->last_event, 0);
>  			input_sync(d->rc_input_dev);
>  			break;
> -- 
> 1.6.6.1
> 

-- 
Dmitry

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-02-16 17:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-02-14 20:36 [PATCH] V4L: dvb-usb, add extra sync to down-up input events Jiri Slaby
2010-02-16 17:30 ` Dmitry Torokhov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®