Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=73a74ed3a6f8fcb817fdffa2c2718f96d0108b7f
Commit:     73a74ed3a6f8fcb817fdffa2c2718f96d0108b7f
Parent:     3c92c57af9a24a08b8d2f76650b1209239914fcd
Author:     Ivan Kokshaysky <[EMAIL PROTECTED]>
AuthorDate: Wed May 23 14:50:02 2007 -0700
Committer:  Greg Kroah-Hartman <[EMAIL PROTECTED]>
CommitDate: Thu May 31 16:56:37 2007 -0700

    PCI: i386: fixup for Siemens Nixdorf AG FSC Multiprocessor Interrupt 
Controllers
    
    Wolfgang gets:
    
     PCI: Cannot allocate resource region 0 of device 0000:00:04.0
     PCI: Error while updating region 0000:00:04.0/0 (a8008000 != fec08000)
    
    Note that the BAR seems to have high address bits hardwired to fec00000.
    And device 0000:00:04.0 is
    
     00:04.0 System peripheral: Siemens Nixdorf AG FSC Multiprocessor Interrupt 
Controller (rev 02)
    
    I'd guess that when we try to reassign this resource, PCI interrupts might
    just stop working. This could explain SCSI timeouts and other weird things.
    
    Cc: Wolfgang Erig <[EMAIL PROTECTED]>
    Cc: Chuck Ebbert <[EMAIL PROTECTED]>
    Cc: Andi Kleen <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
---
 arch/i386/pci/fixup.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/arch/i386/pci/fixup.c b/arch/i386/pci/fixup.c
index b62eafb..b95b429 100644
--- a/arch/i386/pci/fixup.c
+++ b/arch/i386/pci/fixup.c
@@ -436,3 +436,14 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_CYRIX, 
PCI_DEVICE_ID_CYRIX_5530_LEGACY,
                        pci_early_fixup_cyrix_5530);
 DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_5530_LEGACY,
                        pci_early_fixup_cyrix_5530);
+
+/*
+ * Siemens Nixdorf AG FSC Multiprocessor Interrupt Controller:
+ * prevent update of the BAR0, which doesn't look like a normal BAR.
+ */
+static void __devinit pci_siemens_interrupt_controller(struct pci_dev *dev)
+{
+       dev->resource[0].flags |= IORESOURCE_PCI_FIXED;
+}
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SIEMENS, 0x0015,
+                         pci_siemens_interrupt_controller);
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to