[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

PCI scanning IRQ fix.

From: Gianluca Guida
Subject: PCI scanning IRQ fix.
Date: Sat, 28 Jan 2006 06:32:51 +0100


My laptop's motherboard set its RTL8139 NIC IRQ at a value that is not
included in the range 0<=x<16 and it's not 255.

GNU Mach can't handle that, and when I try a 'devprobe eth0' I get a
panic due to a failed assert (irq < 16). This patch tell GNU Mach to
ignore this kind of IRQ.

The real solution for this problem would be an PCI IRQ Router, which
is what I am going to port/implement in Mach soon. For now, this patch
helps by both removing the failed assert and by noticing the user that
the device is not being used for unassigned IRQ.

I guess that for such a small path using Savannah's Patch system is a
waste, right?


2006-01-28  Gianluca Guida  <glguida@gmail.com>

        * linux/src/drivers/net/pci-scan.c (pci_drv_register): Skip device
        if we are getting an invalid IRQ >= 16 and different from 255 (it
        happens in some motherboard).

diff -ru gnumach-vanilla/linux/src/drivers/net/pci-scan.c
--- gnumach-vanilla/linux/src/drivers/net/pci-scan.c    2006-01-22
16:54:41.000000000 +0100
+++ gnumach-irqpciquickfix/linux/src/drivers/net/pci-scan.c     2006-01-28
06:19:58.000000000 +0100
@@ -347,7 +347,7 @@
                                   pci_tbl[chip_idx].name, pciaddr, irq);

                if ( ! (pci_flags & PCI_UNUSED_IRQ)  &&
-                        (irq == 0 || irq == 255)) {
+                        (irq == 0 || irq >= 16)) {
                        if (pci_bus == 32)      /* Broken CardBus activation. */
                                printk(KERN_WARNING "Resources for CardBus 
device '%s' have"
                                           " not been allocated.\n"

It was a type of people I did not know, I found them very strange and
they did not inspire confidence at all. Later I learned that I had been
introduced to electronic engineers.
                                                  E. W. Dijkstra

reply via email to

[Prev in Thread] Current Thread [Next in Thread]