diff options
author | Koen Vandeputte <koen.vandeputte@ncentric.com> | 2018-10-04 15:12:27 +0200 |
---|---|---|
committer | Koen Vandeputte <koen.vandeputte@ncentric.com> | 2018-10-04 16:15:24 +0200 |
commit | 3b53d6fdbc241173b4264aa49142ba94d406a806 (patch) | |
tree | 640dd67d1e1323fbd1ac323e419732887bcd8e57 /target/linux/brcm2708 | |
parent | a2adeffffca5304b97aaa1eb68ffc4f00138ee1e (diff) | |
download | upstream-3b53d6fdbc241173b4264aa49142ba94d406a806.tar.gz upstream-3b53d6fdbc241173b4264aa49142ba94d406a806.tar.bz2 upstream-3b53d6fdbc241173b4264aa49142ba94d406a806.zip |
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 318e19ba6755 ("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: 318e19ba6755 ("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>
Diffstat (limited to 'target/linux/brcm2708')
0 files changed, 0 insertions, 0 deletions