Hi,
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?
Regards,
Gianluca
2006-01-28 Gianluca Guida <[EMAIL PROTECTED]>
* 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-irqpciquickfix/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
_______________________________________________
Bug-hurd mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-hurd