lkml.org 
[lkml]   [2002]   [Apr]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patches in this message
/
From
Subject[patch] Re: IRQ routing conflicts / Assigning IRQ 0 to ethernet
Date
Luis:

This patch should resolve the remaining issues. Patch is against
acpi-20020329 + 2.5.7/2.4.18. Please test + tell me if it works.

Dominik

--- linux/arch/i386/kernel/pci-irq.c.original Tue Apr 2 13:35:24 2002
+++ linux/arch/i386/kernel/pci-irq.c Tue Apr 2 13:47:23 2002
@@ -576,10 +576,8 @@
struct pci_dev *dev2;
char *msg = NULL;

- if (!pirq_table)
- return 0;

- /* Find IRQ routing entry */
+ /* Find IRQ pin */
pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
if (!pin) {
DBG(" -> no interrupt pin\n");
@@ -588,10 +586,17 @@
pin = pin - 1;

#ifdef CONFIG_ACPI_PCI
+ /* Use ACPI to lookup IRQ */
+
if (pci_use_acpi_routing)
return acpi_lookup_irq(dev, pin, assign);
#endif

+ /* Find IRQ routing entry */
+
+ if (!pirq_table)
+ return 0;
+
DBG("IRQ for %s:%d", dev->slot_name, pin);
info = pirq_get_info(dev);
if (!info) {

On Tuesday, 2. April 2002 23:54, Luis Falcon wrote:
> Bryan,
>
> Thanks a lot for your response.
> In fact the IRQ routing conflict has been solved !
>
> What is still pending is the assignment of a valid IRQ to the Ethernet card
> ( device 00:05.0 ) and Sound Card ( 00:07.5 ). So, at this point, the
> ethernet card doesn't work.
> does not work.
>
> Here's the latest dmesg.
>
> Regards,
> Luis--- linux/arch/i386/kernel/pci-irq.c.original Tue Apr 2 13:35:24 2002
+++ linux/arch/i386/kernel/pci-irq.c Tue Apr 2 13:47:23 2002
@@ -576,10 +576,8 @@
struct pci_dev *dev2;
char *msg = NULL;

- if (!pirq_table)
- return 0;

- /* Find IRQ routing entry */
+ /* Find IRQ pin */
pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
if (!pin) {
DBG(" -> no interrupt pin\n");
@@ -588,10 +586,17 @@
pin = pin - 1;

#ifdef CONFIG_ACPI_PCI
+ /* Use ACPI to lookup IRQ */
+
if (pci_use_acpi_routing)
return acpi_lookup_irq(dev, pin, assign);
#endif

+ /* Find IRQ routing entry */
+
+ if (!pirq_table)
+ return 0;
+
DBG("IRQ for %s:%d", dev->slot_name, pin);
info = pirq_get_info(dev);
if (!info) {
\
 
 \ /
  Last update: 2005-03-22 13:25    [W:0.094 / U:0.332 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site