From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Sitsofe Wheeler <sitsofe@yahoo.com>
Cc: linux-kernel@vger.kernel.org,
Alan Jenkins <sourcejedi.lkml@googlemail.com>,
Matthew Garrett <mjg59@srcf.ucam.org>,
mingo@elte.hu
Subject: Re: EeePC 900 trackpad often not detected at boot in 2.6.30-rc4
Date: Tue, 19 May 2009 19:47:08 -0700 [thread overview]
Message-ID: <20090520024658.GD17649@dtor-d630.eng.vmware.com> (raw)
In-Reply-To: <20090518094209.GA21150@sucs.org>
On Mon, May 18, 2009 at 10:42:10AM +0100, Sitsofe Wheeler wrote:
> On Mon, May 18, 2009 at 09:41:46AM +0100, Sitsofe Wheeler wrote:
> >
> > And of course just as soon as I finish building a new kernel the issue
> > disappears. Even in older kernels that were seemingly showing the
> > problem all the time. Sigh.
>
> After numerous reboots I finally managed to reproduce the problem the
> original way with your patch installed. I have no idea what the
> necessary triggers are but I suspect it involves suspend to ram...
>
It is just unfortunate scheduling that messes us up:
> [ 4.267050] drivers/input/serio/i8042.c: 00 <- i8042 (interrupt, 1, 12) [113]
> [ 4.270440] drivers/input/serio/i8042.c: d4 -> i8042 (command) [116]
> [ 4.271016] drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [116]
> [ 4.274883] ALSA device list:
> [ 4.274963] #0: HDA Intel at 0xf7eb8000 irq 16
> [ 4.275258] TCP cubic registered
> [ 4.276597] NET: Registered protocol family 17
> [ 4.276802] Using IPI Shortcut mode
> [ 4.279191] Magic number: 9:810:70
> [ 4.279548] rtc_cmos 00:03: setting system clock to 2009-05-18 09:03:27 UTC (1242637407)
> [ 4.281412] drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 1, 12) [127]
> [ 4.283338] drivers/input/serio/i8042.c: 00 <- i8042 (interrupt, 1, 12) [129]
> [ 5.406620] libps2: errorneously fail 754 command
As you can see the device responded to our command and interrupt fired
at 4.28 but for some reason the thread did not get woken up until 5.40,
second and a half later... Crazy if you ask me.
Ingo, do you have any idea why would it not be woken up for so long???
In the meantime, the patch below should fix work around that delay.
--
Dmitry
Input: libps2 - better handle bad scheduler decisions
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Sometimes devices send us their responses in time but due to
unfortunate scheduling decisions the receiving thread does not
get scheduled till much later and we erroneously decide that
device timed out. Work around this problem by checking whether we
received the data we needed instead of checking timeout
condition.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
---
drivers/input/serio/libps2.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/input/serio/libps2.c b/drivers/input/serio/libps2.c
index a0d8968..3a95b50 100644
--- a/drivers/input/serio/libps2.c
+++ b/drivers/input/serio/libps2.c
@@ -208,7 +208,7 @@ int __ps2_command(struct ps2dev *ps2dev, unsigned char *param, int command)
timeout = wait_event_timeout(ps2dev->wait,
!(ps2dev->flags & PS2_FLAG_CMD1), timeout);
- if (ps2dev->cmdcnt && timeout > 0) {
+ if (ps2dev->cmdcnt && !(ps2dev->flags & PS2_FLAG_CMD1)) {
timeout = ps2_adjust_timeout(ps2dev, command, timeout);
wait_event_timeout(ps2dev->wait,
next prev parent reply other threads:[~2009-05-20 2:47 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-11 7:21 EeePC 900 trackpad often not detected at boot in 2.6.29-rc4 Sitsofe Wheeler
2009-05-13 3:20 ` Dmitry Torokhov
2009-05-13 18:53 ` EeePC 900 trackpad often not detected at boot in 2.6.30-rc4 Sitsofe Wheeler
2009-05-13 19:19 ` Sitsofe Wheeler
2009-05-16 3:27 ` Dmitry Torokhov
2009-05-16 3:29 ` Dmitry Torokhov
2009-05-18 8:41 ` Sitsofe Wheeler
2009-05-18 9:42 ` Sitsofe Wheeler
2009-05-20 2:47 ` Dmitry Torokhov [this message]
2009-05-20 5:47 ` Sitsofe Wheeler
2009-05-20 7:25 ` Dmitry Torokhov
2009-05-26 22:20 ` Sitsofe Wheeler
2009-05-28 15:54 ` Dmitry Torokhov
2009-05-28 16:42 ` Sitsofe Wheeler
2009-05-28 16:49 ` Dmitry Torokhov
2009-05-29 9:31 ` Sitsofe Wheeler
2009-05-29 14:39 ` Dmitry Torokhov
2009-05-20 8:38 ` Ingo Molnar
2009-05-26 22:14 ` Sitsofe Wheeler
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=20090520024658.GD17649@dtor-d630.eng.vmware.com \
--to=dmitry.torokhov@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=mjg59@srcf.ucam.org \
--cc=sitsofe@yahoo.com \
--cc=sourcejedi.lkml@googlemail.com \
/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;
as well as URLs for NNTP newsgroup(s).