public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Russell King <rmk+lkml@arm.linux.org.uk>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>,
	linux-kernel@vger.kernel.org,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Andrew Morton <akpm@osdl.org>
Subject: Re: [PATCH] genirq: Fix missing initializer for unmask in no_irq_chip
Date: Thu, 8 Jun 2006 16:29:26 +0100	[thread overview]
Message-ID: <20060608152926.GA15337@flint.arm.linux.org.uk> (raw)
In-Reply-To: <1149768256.5257.37.camel@localhost.localdomain>

On Thu, Jun 08, 2006 at 02:04:15PM +0200, Thomas Gleixner wrote:
> On Thu, 2006-06-08 at 12:35 +0100, Russell King wrote:
> > Okay, works on Versatile (which is a trivial platform) it doesn't work
> > on Neponset (a rather more complex setup).  Neponset has a case where
> > there's an interrupt "concentrator" which consists of logically ORing
> > three interrupt sources, and providing a status register so you know
> > which occurred.
> > 
> > Hence, there is no "chip" for this, and while it works with the ARM
> > IRQ subsystem, it doesn't even boot with the genirq stuff.
> > 
> > This doesn't happen with the ARM IRQ subsystem because the "no chip"
> > handlers are all pointing at a dummy function instead of being NULL.
> > Could we do the same with genirq ?
> 
> We missed to initialize unmask, which causes problems on neponset.

Okay, with -rc6 + genirq + the following patch, it appears to work
provided you don't stress it.  As soon as I load the system up with
CF activity, a full-sized flood ping and hit "enter" a few times on
the console, it locks up solid - no oops, no nothing, the machine
just completely freezes.

This does not happen with the existing ARM IRQ code.

I'll try to debug this odd behaviour later today, but first I need to
resurect my NMI oopser code for this platform.

--- linux-2.6.17-rc6/kernel/irq/handle.c	2006-06-07 20:54:01.000000000 +0200
+++ b/kernel/irq/handle.c
@@ -91,7 +91,8 @@
 	.shutdown	= noop,
 	.enable		= noop,
 	.disable	= noop,
-	.ack		= ack_bad,
+	.ack		= noop, // needed to quiten down boot time complaints
+	.unmask		= noop,	// needed to prevent oops on sa1111 init
 	.end		= noop,
 };
 
--- linux-2.6.17-rc6/kernel/irq/manage.c	2006-06-07 20:53:54.000000000 +0200
+++ b/kernel/irq/manage.c
@@ -199,8 +199,8 @@
 	if (irq >= NR_IRQS)
 		return -EINVAL;
 
-	if (desc->chip == &no_irq_chip)
-		return -ENOSYS;
+//	if (desc->chip == &no_irq_chip) // prevents smc91x initialising
+//		return -ENOSYS;
 	/*
 	 * Some drivers like serial.c use request_irq() heavily,
 	 * so we have to be careful not to interfere with a


-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

  reply	other threads:[~2006-06-08 15:29 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-17  0:13 [patch 00/50] genirq: -V3 Ingo Molnar
2006-05-17  6:11 ` Benjamin Herrenschmidt
2006-05-17 22:27   ` Russell King
2006-05-18  0:32     ` Benjamin Herrenschmidt
2006-05-18  7:38       ` Russell King
2006-05-18  9:33         ` Benjamin Herrenschmidt
2006-05-17 22:15 ` [patchset] Generic IRQ Subsystem: -V4 Ingo Molnar
2006-05-18 22:24   ` Ingo Oeser
2006-05-19  9:31     ` Ingo Molnar
2006-05-19 17:00       ` Ingo Oeser
2006-05-19 14:52   ` [patchset] Generic IRQ Subsystem: -V5 Ingo Molnar
2006-06-07 16:54     ` Russell King
2006-06-07 17:20       ` Thomas Gleixner
2006-06-07 18:57         ` Thomas Gleixner
2006-06-08 11:35           ` Russell King
2006-06-08 12:04             ` [PATCH] genirq: Fix missing initializer for unmask in no_irq_chip Thomas Gleixner
2006-06-08 15:29               ` Russell King [this message]
2006-06-08 15:58                 ` Thomas Gleixner
2006-06-08 18:57                   ` Thomas Gleixner
2006-06-08 22:32                     ` Thomas Gleixner

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=20060608152926.GA15337@flint.arm.linux.org.uk \
    --to=rmk+lkml@arm.linux.org.uk \
    --cc=akpm@osdl.org \
    --cc=benh@kernel.crashing.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    /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