diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/pci.c b/target/linux/ar71xx/files/arch/mips/ar71xx/pci.c
index c44a40924b7f73de0f2493311e7fd0c8603a91d5..bd9217caa48fe841a1e7d30008be83dc6f78e98e 100644
--- a/target/linux/ar71xx/files/arch/mips/ar71xx/pci.c
+++ b/target/linux/ar71xx/files/arch/mips/ar71xx/pci.c
@@ -83,7 +83,7 @@ int __init ar71xx_pci_init(unsigned nr_irqs, struct ar71xx_pci_irq *map)
 	case AR71XX_SOC_AR7242:
 	case AR71XX_SOC_AR9342:
 	case AR71XX_SOC_AR9344:
-		ret = ar724x_pcibios_init();
+		ret = ar724x_pcibios_init(AR71XX_CPU_IRQ_IP2);
 		break;
 
 	default:
diff --git a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/pci.h b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/pci.h
index 7a4b1145f82512094068b0f0daa4be5f3e1c1e12..27043491ac864c9c543da68239a7f99c5b985177 100644
--- a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/pci.h
+++ b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/pci.h
@@ -33,7 +33,7 @@ int ar71xx_pci_be_handler(int is_fixup);
 
 int ar724x_pcibios_map_irq(const struct pci_dev *dev,
 			   uint8_t slot, uint8_t pin) __init;
-int ar724x_pcibios_init(void) __init;
+int ar724x_pcibios_init(int irq) __init;
 
 int ar71xx_pci_init(unsigned nr_irqs, struct ar71xx_pci_irq *map) __init;
 #else
diff --git a/target/linux/ar71xx/files/arch/mips/pci/pci-ar724x.c b/target/linux/ar71xx/files/arch/mips/pci/pci-ar724x.c
index 209985815ca8808681f3fc7b36eb016fd89092a1..57daa0614835a8e1fdffcfaab53a8224a609acb0 100644
--- a/target/linux/ar71xx/files/arch/mips/pci/pci-ar724x.c
+++ b/target/linux/ar71xx/files/arch/mips/pci/pci-ar724x.c
@@ -325,7 +325,7 @@ static struct irq_chip ar724x_pci_irq_chip = {
 	.irq_mask_ack	= ar724x_pci_irq_mask,
 };
 
-static void __init ar724x_pci_irq_init(void)
+static void __init ar724x_pci_irq_init(int irq)
 {
 	void __iomem *base = ar724x_pci_ctrl_base;
 	u32 t;
@@ -345,10 +345,10 @@ static void __init ar724x_pci_irq_init(void)
 		irq_set_chip_and_handler(i, &ar724x_pci_irq_chip,
 					 handle_level_irq);
 
-	irq_set_chained_handler(AR71XX_CPU_IRQ_IP2, ar724x_pci_irq_handler);
+	irq_set_chained_handler(irq, ar724x_pci_irq_handler);
 }
 
-int __init ar724x_pcibios_init(void)
+int __init ar724x_pcibios_init(int irq)
 {
 	int ret = -ENOMEM;
 
@@ -373,7 +373,7 @@ int __init ar724x_pcibios_init(void)
 		goto err_unmap_ctrl;
 
 	ar724x_pci_fixup_enable = 1;
-	ar724x_pci_irq_init();
+	ar724x_pci_irq_init(irq);
 	register_pci_controller(&ar724x_pci_controller);
 
 	return 0;