diff options
Diffstat (limited to 'arch/i386/pci/irq.c')
-rw-r--r-- | arch/i386/pci/irq.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/i386/pci/irq.c b/arch/i386/pci/irq.c index 69163998adeb..f2cb942f8281 100644 --- a/arch/i386/pci/irq.c +++ b/arch/i386/pci/irq.c | |||
@@ -543,6 +543,12 @@ static __init int intel_router_probe(struct irq_router *r, struct pci_dev *route | |||
543 | case PCI_DEVICE_ID_INTEL_ICH8_2: | 543 | case PCI_DEVICE_ID_INTEL_ICH8_2: |
544 | case PCI_DEVICE_ID_INTEL_ICH8_3: | 544 | case PCI_DEVICE_ID_INTEL_ICH8_3: |
545 | case PCI_DEVICE_ID_INTEL_ICH8_4: | 545 | case PCI_DEVICE_ID_INTEL_ICH8_4: |
546 | case PCI_DEVICE_ID_INTEL_ICH9_0: | ||
547 | case PCI_DEVICE_ID_INTEL_ICH9_1: | ||
548 | case PCI_DEVICE_ID_INTEL_ICH9_2: | ||
549 | case PCI_DEVICE_ID_INTEL_ICH9_3: | ||
550 | case PCI_DEVICE_ID_INTEL_ICH9_4: | ||
551 | case PCI_DEVICE_ID_INTEL_ICH9_5: | ||
546 | r->name = "PIIX/ICH"; | 552 | r->name = "PIIX/ICH"; |
547 | r->get = pirq_piix_get; | 553 | r->get = pirq_piix_get; |
548 | r->set = pirq_piix_set; | 554 | r->set = pirq_piix_set; |
@@ -758,7 +764,7 @@ static void __init pirq_find_router(struct irq_router *r) | |||
758 | DBG(KERN_DEBUG "PCI: Attempting to find IRQ router for %04x:%04x\n", | 764 | DBG(KERN_DEBUG "PCI: Attempting to find IRQ router for %04x:%04x\n", |
759 | rt->rtr_vendor, rt->rtr_device); | 765 | rt->rtr_vendor, rt->rtr_device); |
760 | 766 | ||
761 | pirq_router_dev = pci_find_slot(rt->rtr_bus, rt->rtr_devfn); | 767 | pirq_router_dev = pci_get_bus_and_slot(rt->rtr_bus, rt->rtr_devfn); |
762 | if (!pirq_router_dev) { | 768 | if (!pirq_router_dev) { |
763 | DBG(KERN_DEBUG "PCI: Interrupt router not found at " | 769 | DBG(KERN_DEBUG "PCI: Interrupt router not found at " |
764 | "%02x:%02x\n", rt->rtr_bus, rt->rtr_devfn); | 770 | "%02x:%02x\n", rt->rtr_bus, rt->rtr_devfn); |
@@ -778,6 +784,8 @@ static void __init pirq_find_router(struct irq_router *r) | |||
778 | pirq_router_dev->vendor, | 784 | pirq_router_dev->vendor, |
779 | pirq_router_dev->device, | 785 | pirq_router_dev->device, |
780 | pci_name(pirq_router_dev)); | 786 | pci_name(pirq_router_dev)); |
787 | |||
788 | /* The device remains referenced for the kernel lifetime */ | ||
781 | } | 789 | } |
782 | 790 | ||
783 | static struct irq_info *pirq_get_info(struct pci_dev *dev) | 791 | static struct irq_info *pirq_get_info(struct pci_dev *dev) |