summaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/ar71xx/files/arch/mips/pci/pci-ar71xx.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/pci/pci-ar71xx.c b/target/linux/ar71xx/files/arch/mips/pci/pci-ar71xx.c
index 711a10969..b2d36caa0 100644
--- a/target/linux/ar71xx/files/arch/mips/pci/pci-ar71xx.c
+++ b/target/linux/ar71xx/files/arch/mips/pci/pci-ar71xx.c
@@ -38,6 +38,7 @@
static void __iomem *ar71xx_pcicfg_base;
static DEFINE_SPINLOCK(ar71xx_pci_lock);
+static int ar71xx_pci_fixup_enable;
static inline void ar71xx_pci_delay(void)
{
@@ -228,6 +229,9 @@ static void ar71xx_pci_fixup(struct pci_dev *dev)
{
u32 t;
+ if (!ar71xx_pci_fixup_enable)
+ return;
+
if (dev->bus->number != 0 || dev->devfn != 0)
return;
@@ -321,6 +325,7 @@ int __init ar71xx_pcibios_init(void)
/* clear bus errors */
(void)ar71xx_pci_be_handler(1);
+ ar71xx_pci_fixup_enable = 1;
register_pci_controller(&ar71xx_pci_controller);
return 0;