openwrtv3/target
Koen Vandeputte 3b53d6fdbc ar71xx: fix pci irq init on kernel 4.14
The IRQ init structs are marked as __initconst which
means this memory can be free after init.

On this platform, the PCI IRQ init happens very late _after_ the
kernel already freed the memory allocated for these structs.

During IRQ allocation, the allocation function is passed
with invalid data at this point leading to following error:

[    0.000000] SoC: Qualcomm Atheros QCA9533 ver 2 rev 0
[    2.382828] Freeing unused kernel memory: 264K
[   34.414816] pci 0000:00:00.0: no irq found for pin 1

and

[    0.000000] SoC: Qualcomm Atheros QCA956X ver 1 rev 0
[    2.125401] Freeing unused kernel memory: 284K
[    9.526479] pci 0000:00:00.0: no irq found for pin 1

After this patch:

[   14.960814] pci 0000:00:00.0: using irq 40 for pin 1

Commit 318e19ba67 ("ar71xx: add v4.14 support") fixed this for the
default targets already present in the source by default but forgot
to remove the __initconst attribute for targets QCA953x and QCA956x
which are only added later through platform patches.

Fixes: 318e19ba67 ("ar71xx: add v4.14 support")

Reported-by: Sven Schönhoff <sven.schoenhoff@gmail.com>
Reported-by: Dirk Brenken <dev@brenken.org>
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Tested-by: Dirk Brenken <dev@brenken.org>
2018-10-04 16:15:24 +02:00
..
imagebuilder imagebuilder: manifest function show stderr 2018-08-06 06:54:42 +02:00
linux ar71xx: fix pci irq init on kernel 4.14 2018-10-04 16:15:24 +02:00
sdk sdk: include arch/arm/ Linux includes along with arch/arm64/ ones 2018-08-03 13:47:29 +02:00
toolchain merge: etc: update remaining files 2017-12-08 19:41:18 +01:00
Config.in build: add support for enabling the rootfs/boot partition size option via target feature 2018-09-03 12:06:24 +02:00
Makefile build: make <subdir>/install opt-in, use it for target/ only 2017-02-09 13:51:35 +01:00