From: Dmitry Torokhov <dtor_core@ameritech.net>
To: Vojtech Pavlik <vojtech@suse.cz>
Cc: linux-input@atrey.karlin.mff.cuni.cz,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 0/16] New set of input patches
Date: Fri, 28 Jan 2005 02:13:12 -0500 [thread overview]
Message-ID: <200501280213.13005.dtor_core@ameritech.net> (raw)
In-Reply-To: <20050127161518.GA14020@ucw.cz>
On Thursday 27 January 2005 11:15, Vojtech Pavlik wrote:
> > I think that the very first path ("while true; do xset led 3; xset
> > -led 3; done" makes keyboard miss release events and makes it
> > unusable) should go in 2.6.11 so please do:
> >
> > bk pull bk://dtor.bkbits.net/for-2.6.11
>
> Pulled, pushed into my tree. I verified the patch, and it is indeed
> correct. Before we get an ACK for a command we sent, we still may
> receive normal data. After we got the ACK we know for sure that no more
> regular data will come, and can expect the command response.
Hi Vojtech,
I have another one that I think needs to be in 2.6.11 - in ps2_command
does not update timeout variable when waiting for the first byte of
response so even if command times out the code still goes and tries to
wait for more data. It actually causes problems with GETID command - we
end up reporting success even if we did not get any response (except for
initial ACK).
Also, now taht wait_event_timeout is available we shoudl use it instead
of wait_event_interruptible_timeout.
--
Dmitry
===================================================================
ChangeSet@1.1986, 2005-01-28 01:53:11-05:00, dtor_core@ameritech.net
Input: libps2 - fix timeout handling in ps2_command, switch to using
wait_event_timeout instead of wait_event_interruptible_timeout
now that first form is available.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
libps2.c | 22 +++++++++++-----------
1 files changed, 11 insertions(+), 11 deletions(-)
===================================================================
diff -Nru a/drivers/input/serio/libps2.c b/drivers/input/serio/libps2.c
--- a/drivers/input/serio/libps2.c 2005-01-28 02:12:06 -05:00
+++ b/drivers/input/serio/libps2.c 2005-01-28 02:12:06 -05:00
@@ -60,9 +60,9 @@
serio_continue_rx(ps2dev->serio);
if (serio_write(ps2dev->serio, byte) == 0)
- wait_event_interruptible_timeout(ps2dev->wait,
- !(ps2dev->flags & PS2_FLAG_ACK),
- msecs_to_jiffies(timeout));
+ wait_event_timeout(ps2dev->wait,
+ !(ps2dev->flags & PS2_FLAG_ACK),
+ msecs_to_jiffies(timeout));
serio_pause_rx(ps2dev->serio);
ps2dev->flags &= ~PS2_FLAG_ACK;
@@ -115,8 +115,8 @@
*/
timeout = msecs_to_jiffies(command == PS2_CMD_RESET_BAT ? 4000 : 500);
- wait_event_interruptible_timeout(ps2dev->wait,
- !(ps2dev->flags & PS2_FLAG_CMD1), timeout);
+ timeout = wait_event_timeout(ps2dev->wait,
+ !(ps2dev->flags & PS2_FLAG_CMD1), timeout);
if (ps2dev->cmdcnt && timeout > 0) {
@@ -147,8 +147,8 @@
serio_continue_rx(ps2dev->serio);
}
- wait_event_interruptible_timeout(ps2dev->wait,
- !(ps2dev->flags & PS2_FLAG_CMD), timeout);
+ wait_event_timeout(ps2dev->wait,
+ !(ps2dev->flags & PS2_FLAG_CMD), timeout);
}
if (param)
@@ -259,7 +259,7 @@
ps2dev->flags |= PS2_FLAG_CMD | PS2_FLAG_CMD1;
ps2dev->flags &= ~PS2_FLAG_ACK;
- wake_up_interruptible(&ps2dev->wait);
+ wake_up(&ps2dev->wait);
if (data != PS2_RET_ACK)
ps2_handle_response(ps2dev, data);
@@ -281,12 +281,12 @@
if (ps2dev->flags & PS2_FLAG_CMD1) {
ps2dev->flags &= ~PS2_FLAG_CMD1;
if (ps2dev->cmdcnt)
- wake_up_interruptible(&ps2dev->wait);
+ wake_up(&ps2dev->wait);
}
if (!ps2dev->cmdcnt) {
ps2dev->flags &= ~PS2_FLAG_CMD;
- wake_up_interruptible(&ps2dev->wait);
+ wake_up(&ps2dev->wait);
}
return 1;
@@ -298,7 +298,7 @@
ps2dev->nak = 1;
if (ps2dev->flags & (PS2_FLAG_ACK | PS2_FLAG_CMD))
- wake_up_interruptible(&ps2dev->wait);
+ wake_up(&ps2dev->wait);
ps2dev->flags = 0;
}
next prev parent reply other threads:[~2005-01-28 7:13 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-12-29 7:17 [PATCH 0/16] New set of input patches Dmitry Torokhov
2004-12-29 7:19 ` [PATCH 1/16] i8042 panicblink cleanup Dmitry Torokhov
2004-12-29 7:20 ` [PATCH 2/16] Add serio start and stop methods Dmitry Torokhov
2004-12-29 7:20 ` [PATCH 3/16] i8042: Make use of new " Dmitry Torokhov
2004-12-29 7:21 ` [PATCH 4/16] Suppress duplicate events in serio core Dmitry Torokhov
2004-12-29 7:22 ` [PATCH 5/16] evdev: return -EINVAL if read buffer is too small Dmitry Torokhov
2004-12-29 7:23 ` [PATCH 6/16] Propery set up name for PS/2 Logitech mice Dmitry Torokhov
2004-12-29 7:24 ` [PATCH 7/16] Limit Synaptics rate on Toshiba Satellites Dmitry Torokhov
2004-12-29 7:25 ` [PATCH 8/16] Allow setkeycodes work again Dmitry Torokhov
2004-12-29 7:26 ` [PATCH 9/16] i8042: fix sysfs permissiions for 'debug' parameter Dmitry Torokhov
2004-12-29 7:27 ` [PATCH 10/16] Fix building twidjoy module Dmitry Torokhov
2004-12-29 7:28 ` [PATCH 11/16] Use msecs_to_jiffies in input core Dmitry Torokhov
2004-12-29 7:28 ` [PATCH 12/16] Use msecs_to_jiffies in atkbd Dmitry Torokhov
2004-12-29 7:29 ` [PATCH 13/16] Introduce serio_get/set_drvdata helpers Dmitry Torokhov
2004-12-29 7:31 ` [PATCH 14/16] Introduce serio_id to match ports and drivers Dmitry Torokhov
2004-12-29 7:32 ` [PATCH 15/16] serio bus implementation cleanup Dmitry Torokhov
2004-12-29 7:33 ` [PATCH 16/16] serio connect methods should return error codes Dmitry Torokhov
2005-01-13 15:36 ` [PATCH 0/16] New set of input patches Vojtech Pavlik
2005-01-13 17:52 ` Dmitry Torokhov
2005-01-13 19:25 ` Vojtech Pavlik
2005-01-13 20:16 ` Dmitry Torokhov
2005-01-27 14:04 ` Dmitry Torokhov
2005-01-27 16:15 ` Vojtech Pavlik
2005-01-27 16:36 ` Vojtech Pavlik
2005-01-27 18:18 ` Dmitry Torokhov
2005-01-27 22:16 ` Vojtech Pavlik
2005-01-30 23:35 ` Dmitry Torokhov
2005-01-31 9:13 ` Vojtech Pavlik
2005-01-28 7:13 ` Dmitry Torokhov [this message]
2005-01-28 11:24 ` Vojtech Pavlik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200501280213.13005.dtor_core@ameritech.net \
--to=dtor_core@ameritech.net \
--cc=linux-input@atrey.karlin.mff.cuni.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=vojtech@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox