[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-usb-devel
Subject:    Re: [linux-usb-devel] Shared interrupt problem with USB and serial
From:       Martin Mares <mj () suse ! cz>
Date:       2000-06-28 10:37:03
[Download RAW message or body]

Hello!

> I have temporarily resolved this by editing pci-irq.c and changing
> pirq_penalty[5] initialization from 0 to 10000.  Changing the PCI slot
> IRQ priorities in my BIOS changed *them* around, but the USB bus always
> took IRQ 5.  It was the first available.
> 
> IRQ 5 is often used by modem cards.  Perhaps a small penalty is
> appropriate for IRQ 5 so that 9-12 will be checked for availability
> first.  Does this seem reasonable?
> 
> Does the IRQ steering code have any access to the BIOS table of which
> IRQs are available to Plug and Play?

The BIOS should provide such a set of IRQ's in the "exclusive IRQ mask"
field, but many BIOS'es fail to do so.

Please apply this patch and send me the bootup messages.

				Have a nice fortnight
-- 
Martin `MJ' Mares <mj@ucw.cz> <mj@suse.cz> http://atrey.karlin.mff.cuni.cz/~mj/
"A jury consists of 12 persons chosen to decide who has the better lawyer."


--- arch/i386/kernel/pci-i386.h.mj	Wed Jun 28 12:34:22 2000
+++ arch/i386/kernel/pci-i386.h	Wed Jun 28 12:34:22 2000
@@ -4,7 +4,7 @@
  *	(c) 1999 Martin Mares <mj@ucw.cz>
  */
 
-#undef DEBUG
+#define DEBUG
 
 #ifdef DEBUG
 #define DBG(x...) printk(x)
--- arch/i386/kernel/pci-irq.c.mj	Wed Jun 28 12:36:18 2000
+++ arch/i386/kernel/pci-irq.c	Wed Jun 28 12:36:18 2000
@@ -303,10 +303,17 @@
 	if (!pirq_table)
 		return 0;
 
+#ifdef DEBUG
+	printk("PIRQ penalties:");
+	for(i=0; i<16; i++)
+		printk(" %d", pirq_penalty[i]);
+	printk("\n");
+#endif
+
 	/* Find IRQ routing entry */
 	pin = pci_get_interrupt_pin(dev, &d);
 	if (pin < 0) {
-		DBG(" -> no interrupt pin\n");
+		DBG("IRQ: No interrupt pin for %s!\n", dev->slot_name);
 		return 0;
 	}
 	DBG("IRQ for %s(%d) via %s", dev->slot_name, pin, d->slot_name);

_______________________________________________
linux-usb-devel mailing list
linux-usb-devel@lists.sourceforge.net
http://lists.sourceforge.net/mailman/listinfo/linux-usb-devel

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic