public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@osdl.org>
To: "Dale E Martin" <dmartin@cliftonlabs.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: repeatable, hard lockup on boot in linux-2.6.0-test4 (more details)
Date: Tue, 2 Sep 2003 13:03:23 -0700	[thread overview]
Message-ID: <20030902130323.41d2fdca.akpm@osdl.org> (raw)
In-Reply-To: <20030902123050.GA854@cliftonlabs.com>

"Dale E Martin" <dmartin@cliftonlabs.com> wrote:
>
> And then I got one more at 590, inside i8042_check_mux:
>     DB();
>     if (request_irq(values->irq, i8042_interrupt, SA_SHIRQ,
> 						  "i8042", i8042_request_irq_cookie))
>                 return -1;
> 		DB();
> 
> This last one did not show up, nor did any inside the conditional loops at
> line 878 or 883, nor at line 888.  So perhaps it was in request_irq that it
> locked up?

Looks like it.  Please add a DB() to the start of i8042_interrupt(),
see if we locked up in an interrupt storm.  Also sprinkle some in 
request_irq() I guess.  You know the deal ;)

There's an ugly in the irq code there: if i8042_check_mux() or
i8042_check_mux() are called while the device is open we end up freeing the
wrong IRQ.  It is unlikely to help though.


--- 25/drivers/input/serio/i8042.c~i8042-free_irq-fix	Tue Sep  2 12:55:23 2003
+++ 25-akpm/drivers/input/serio/i8042.c	Tue Sep  2 12:57:19 2003
@@ -581,6 +581,7 @@ void i8042_controller_cleanup(void)
 static int __init i8042_check_mux(struct i8042_values *values)
 {
 	unsigned char param;
+	static int i8042_check_mux_cookie;
 	int i;
 
 /*
@@ -588,9 +589,9 @@ static int __init i8042_check_mux(struct
  */
 
 	if (request_irq(values->irq, i8042_interrupt, SA_SHIRQ,
-				"i8042", i8042_request_irq_cookie))
+				"i8042", &i8042_check_mux_cookie))
                 return -1;
-	free_irq(values->irq, i8042_request_irq_cookie);
+	free_irq(values->irq, &i8042_check_mux_cookie);
 
 /*
  * Get rid of bytes in the queue.
@@ -653,6 +654,7 @@ static int __init i8042_check_mux(struct
 static int __init i8042_check_aux(struct i8042_values *values)
 {
 	unsigned char param;
+	static int i8042_check_aux_cookie;
 
 /*
  * Check if AUX irq is available. If it isn't, then there is no point
@@ -660,9 +662,9 @@ static int __init i8042_check_aux(struct
  */
 
 	if (request_irq(values->irq, i8042_interrupt, SA_SHIRQ,
-				"i8042", i8042_request_irq_cookie))
+				"i8042", &i8042_check_aux_cookie))
                 return -1;
-	free_irq(values->irq, i8042_request_irq_cookie);
+	free_irq(values->irq, &i8042_check_aux_cookie);
 
 /*
  * Get rid of bytes in the queue.

_


  reply	other threads:[~2003-09-02 20:20 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-01 15:33 repeatable, hard lockup on boot in linux-2.6.0-test4 Dale E Martin
2003-09-01 18:23 ` repeatable, hard lockup on boot in linux-2.6.0-test4 (more details) Dale E Martin
2003-09-01 19:04   ` Andrew Morton
2003-09-01 19:57     ` Dale E Martin
2003-09-01 22:28       ` Andrew Morton
2003-09-02  0:31         ` Dale E Martin
2003-09-02  1:23           ` Andrew Morton
2003-09-02 12:30             ` Dale E Martin
2003-09-02 20:03               ` Andrew Morton [this message]
2003-09-02 23:45                 ` Chris Wright
2003-09-03 12:41                 ` Dale E Martin
2003-09-02 11:04 ` repeatable, hard lockup on boot in linux-2.6.0-test4 Maciej Freudenheim

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=20030902130323.41d2fdca.akpm@osdl.org \
    --to=akpm@osdl.org \
    --cc=dmartin@cliftonlabs.com \
    --cc=linux-kernel@vger.kernel.org \
    /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