linux/drivers/pci
Andreas Block 691cd0c2ee PCI: PCI devices get assigned redundant IRQs
I'm currently working on a port to a CPCI board with a MPC5200.  When
testing the PCI interrupt routing, I discovered the following: Even devices
which don't use interrupts (-> PCI Spec.: Interrupt Pin Register is zero),
get an interrupt assigned (this is at least true for most of the
PPC-targets I looked at).

The cause is pretty obvious in drivers/pci/setup-irq.c.  I guess at least
in an ideal world with correctly designed hardware, the code should rather
look as in the patch below.

Of course it doesn't hurt anybody to have an unuseable IRQ assigned to a
PCI-to-PCI-bridge (or something alike), but to me it seems a bit strange. 
Please correct me, if I'm mislead.

The patch below is tested on the above mentioned CPCI-MPC5200 board and is
compiler tested with the latest git-repository kernel on x86.

Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-02-16 15:30:10 -08:00
..
hotplug [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
pcie [PATCH] Scheduled removal of SA_xxx interrupt flags fixups 2007-02-14 08:09:54 -08:00
.gitignore
access.c [PATCH] severing module.h->sched.h 2006-12-04 02:00:22 -05:00
bus.c
hotplug.c
htirq.c PCI: Use pci_find_ht_capability() in drivers/pci/htirq.c 2006-12-20 10:54:42 -08:00
Kconfig [SPARC64]: Add PCI MSI support on Niagara. 2007-02-10 23:50:37 -08:00
Makefile [PATCH] htirq: tidy up the htirq code 2006-10-04 07:55:30 -07:00
msi.c msi: Make MSI useable more architectures 2007-02-07 15:50:08 -08:00
msi.h PCI: Make some MSI-X #defines generic 2006-12-01 14:36:56 -08:00
pci-acpi.c pci: clear osc support flags if no _OSC method 2006-12-01 14:36:58 -08:00
pci-driver.c PCI/sysfs/kobject kernel-doc fixes 2007-02-16 15:30:10 -08:00
pci-sysfs.c PCI: switch pci_{enable,disable}_device() to be nestable 2006-12-01 14:36:59 -08:00
pci.c PCI: Make CARDBUS_MEM_SIZE and CARDBUS_IO_SIZE boot options 2007-02-16 15:30:10 -08:00
pci.h MSI: Combine pci_(save|restore)_msi/msix_state 2007-02-07 15:50:07 -08:00
probe.c MSI: Remove pci_scan_msi_device() 2007-02-07 15:50:07 -08:00
proc.c [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -08:00
quirks.c Add pci class code for SATA & AHCI, and replace some magic numbers. 2007-02-09 17:39:29 -05:00
remove.c
rom.c Altix: Initial ACPI support - ROM shadowing. 2006-12-01 14:36:58 -08:00
search.c PCI: remove pci_find_device_reverse() 2007-02-07 15:50:04 -08:00
setup-bus.c PCI: Make CARDBUS_MEM_SIZE and CARDBUS_IO_SIZE boot options 2007-02-16 15:30:10 -08:00
setup-irq.c PCI: PCI devices get assigned redundant IRQs 2007-02-16 15:30:10 -08:00
setup-res.c PCI legacy resource fix 2006-12-20 10:54:43 -08:00
syscall.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00