diff --git a/target/linux/ixp4xx/patches-3.10/300-avila_support.patch b/target/linux/ixp4xx/patches-3.10/300-avila_support.patch index 12c82cc8db..b1ca379332 100644 --- a/target/linux/ixp4xx/patches-3.10/300-avila_support.patch +++ b/target/linux/ixp4xx/patches-3.10/300-avila_support.patch @@ -11,17 +11,19 @@ #define IRQ_LINES 4 /* PCI controller GPIO to IRQ pin mappings */ -@@ -55,9 +55,7 @@ static int __init avila_map_irq(const st +@@ -55,10 +55,8 @@ static int __init avila_map_irq(const st IXP4XX_GPIO_IRQ(INTD) }; - if (slot >= 1 && - slot <= (machine_is_loft() ? LOFT_MAX_DEV : AVILA_MAX_DEV) && - pin >= 1 && pin <= IRQ_LINES) +- return pci_irq_table[(slot + pin - 2) % 4]; + if (slot >= 1 && slot <= AVILA_MAX_DEV && pin >= 1 && pin <= IRQ_LINES) - return pci_irq_table[(slot + pin - 2) % 4]; ++ return pci_irq_table[(slot + pin - 2) % IRQ_LINES]; return -1; + } --- a/arch/arm/mach-ixp4xx/avila-setup.c +++ b/arch/arm/mach-ixp4xx/avila-setup.c @@ -14,9 +14,16 @@ diff --git a/target/linux/ixp4xx/patches-3.10/910-ixp4xx-nr_irq_lines.patch b/target/linux/ixp4xx/patches-3.10/910-ixp4xx-nr_irq_lines.patch new file mode 100644 index 0000000000..06e09f469d --- /dev/null +++ b/target/linux/ixp4xx/patches-3.10/910-ixp4xx-nr_irq_lines.patch @@ -0,0 +1,22 @@ +--- a/arch/arm/mach-ixp4xx/ixdp425-pci.c ++++ b/arch/arm/mach-ixp4xx/ixdp425-pci.c +@@ -53,7 +53,7 @@ static int __init ixdp425_map_irq(const + }; + + if (slot >= 1 && slot <= MAX_DEV && pin >= 1 && pin <= IRQ_LINES) +- return pci_irq_table[(slot + pin - 2) % 4]; ++ return pci_irq_table[(slot + pin - 2) % IRQ_LINES]; + + return -1; + } +--- a/arch/arm/mach-ixp4xx/miccpt-pci.c ++++ b/arch/arm/mach-ixp4xx/miccpt-pci.c +@@ -54,7 +54,7 @@ static int __init miccpt_map_irq(const s + }; + + if (slot >= 1 && slot <= MAX_DEV && pin >= 1 && pin <= IRQ_LINES) +- return pci_irq_table[(slot + pin - 2) % 4]; ++ return pci_irq_table[(slot + pin - 2) % IRQ_LINES]; + + return -1; + }