Re: PCI irq fix

From: Martin Mares (mj@suse.cz)
Date: Thu Apr 27 2000 - 18:06:09 EST


Hello!

> I have a Toshiba 320 CDS laptop (i386 arch). When I try and run a
> 2.3 kernel (2.3.99-pre6) it panics on boot. I've tracked the problem back
> to a null pointer deference in pci-irq.c If I prevent this derefernce it
> boots ok. Attached is a patch to solve the problem. Comment, suggestions
> and even a correct fix (I'm no kernel hacker) would be nice in the next
> pre release.

   Please try this patch.

--- arch/i386/kernel/pci-irq.c.mj Fri Apr 28 01:05:42 2000
+++ arch/i386/kernel/pci-irq.c Fri Apr 28 01:05:42 2000
@@ -237,6 +237,8 @@
 #endif
         if (!(pirq_router_dev = pci_find_slot(rt->rtr_bus, rt->rtr_devfn))) {
                 DBG("PCI: Interrupt router not found\n");
+ /* fall back to default router */
+ pirq_router = pirq_routers + sizeof(pirq_routers) / sizeof(pirq_routers[0]) - 1;
                 return;
         }
         if (rt->rtr_vendor) {

                                Have a nice fortnight

-- 
Martin `MJ' Mares <mj@ucw.cz> <mj@suse.cz> http://atrey.karlin.mff.cuni.cz/~mj/
"A. G. Bell is alive and well in New York and still waiting for the dial tone."

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



This archive was generated by hypermail 2b29 : Sun Apr 30 2000 - 21:00:13 EST