lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 27 Sep 2007 08:05:51 +0200
From:	Paul Rolland <rol@...917.net>
To:	Tejun Heo <htejun@...il.com>
Cc:	David Newall <david@...idnewall.com>,
	Linux Kernel <linux-kernel@...r.kernel.org>,
	IDE/ATA development list <linux-ide@...r.kernel.org>,
	rol@...be.net
Subject: Re: 2.6.23-rc7 - _random_ IRQ23 : nobody cared

Hi Tejun,

On Thu, 27 Sep 2007 09:55:22 +0900
Tejun Heo <htejun@...il.com> wrote:

> Paul Rolland wrote:
> > Hi David,
> > 
> > On Mon, 24 Sep 2007 23:56:59 +0930
> > David Newall <david@...idnewall.com> wrote:
> > 
> >> Paul Rolland "(???????) wrote:
> >>> Hell, IRQ 23 is shared between libata and my modem !!!
> >>>   
> >> Tried using the modem?
> > 
> Can you change driver load order such that the driver for the modem is
> loaded first?

As I said, it's not possible, because :
 - the modem driver is an out-kernel one, so I have to wait the end of the
   boot process so that it can be loaded,
 - libata on IRQ23 is the one taking care of my disks, and I suspect it 
   quite hard to install a modem driver before having the disk driver
   installed.

I was thinking of delaying the disabling of the IRQ, which is basically the
other part of the problem (the first part being that spurious IRQ from the
modem). If it is possible to do that long enough for the modem driver to be
loaded, then the "IRQ xx : nobody cared" becomes an informational message
during the boot process, and then it vanishes, leaving a perfectly working
machine.
I suspect something in note_interrupt that would do (totally
untested, just thinking loudly) :

	/* Allow some delay to complete boot process before
	 * killing an IRQ. This allow some modules to be
	 * loaded before we decide the IRQ will not be handled.
	 */
	if (jiffies > 120*HZ) {
		/*
		 * Now kill the IRQ
		 */
		printk(KERN_EMERG "Disabling IRQ #%d\n", irq);
		desc->status |= IRQ_DISABLED;
		desc->depth = 1;
		desc->chip->disable(irq);
	}

I'll try that this week-end, but if someone has an opinion about it, I'll
be glad to know :)

Regards,
Paul

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ