aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
* kernel: remove linux 3.18 supportKoen Vandeputte2018-08-08258-41437/+0
| | | | | | No targets are using it anymore Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* Revert "mt7620: gsw: make IntPHY and ExtPHY share mdio addr 4 possible"Jo-Philipp Wich2018-08-061-6/+0
| | | | | | | | | | | | | | | | This reverts commit b40316c21a960d332bc9b04ee1791b8aafcf8786. That change causes ramips/mt7620 to fail with: drivers/net/ethernet/mtk/gsw_mt7620.c: In function 'mt7620_hw_init': drivers/net/ethernet/mtk/gsw_mt7620.c:171:14: error: 'mdio_mode' undeclared (first use in this function); did you mean 'd_move'? } else if (!mdio_mode) { ^~~~~~~~~ d_move Back it out for now to restore compilation. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* kernel: add missing ARM64_SSBD symbolStijn Tintel2018-08-066-0/+6
| | | | | | | | | | In 4.14.57, a new symbol for Spectre v4 mitigation was introduced for ARM64. Add this symbol to all ARM64 targets using kernel 4.14. This mitigates CVE-2018-3639 on ARM64. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> (cherry picked from commit 77e3e706ce0dfe653a28e088bdcf0acddead0091)
* mt7620: gsw: make IntPHY and ExtPHY share mdio addr 4 possibleChen Minqiang2018-08-061-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | To share mdio addr for IntPHY and ExtPHY, as described in the documentation (MT7620_ProgrammingGuide.pdf). (refer: http://download.villagetelco.org/hardware/MT7620/MT7620_ProgrammingGuide.pdf) when port4 setup to work as gmac mode, dts like: &gsw { mediatek,port4 = "gmac"; }; we should set SYSCFG1.GE2_MODE==0x0 (RGMII). but SYSCFG1.GE2_MODE may have been set to 3(RJ-45) by uboot/default so we need to re-set it to 0x0 before this changes: gsw: 4FE + 2GE may not work correctly and MDIO addr 4 cannot be used by ExtPHY after this changes: gsw: 4FE + 2GE works and MDIO addr 4 can be used by ExtPHY Signed-off-by: Chen Minqiang <ptpt52@gmail.com> (cherry picked from commit f6d81e2fa1f110d8025eaa434d67d0014aca1d42)
* ramips: fix gigabit switch PHY access on MDIODaniel Gimpelevich2018-08-061-1/+2
| | | | | | | | | | | When PHY's are defined on the MDIO bus in the DTS, gigabit support was being masked out for no apparent reason, pegging all such ports to 10/100. If gigabit support must be disabled for some reason, there should be a "max-speed" property in the DTS. Reported-by: James McKenzie <openwrt@madingley.org> Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us> (cherry picked from commit 379fe506729a20c5fdb072840cb662b032e90c36)
* kernel: bump 4.14 to 4.14.60 for 18.06Stijn Segers2018-08-0653-658/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Refreshed patches. * Patches made redundant by changes upstream: - target/linux/ramips/patches-4.14/0036-mtd-fix-cfi-cmdset-0002-erase-status-check.patch * Patches accepted upstream: - target/linux/apm821xx/patches-4.14/020-0001-crypto-crypto4xx-remove-bad-list_del.patch - target/linux/apm821xx/patches-4.14/020-0011-crypto-crypto4xx-fix-crypto4xx_build_pdr-crypto4xx_b.patch - target/linux/brcm63xx/patches-4.14/001-4.15-08-bcm63xx_enet-correct-clock-usage.patch - target/linux/brcm63xx/patches-4.14/001-4.15-09-bcm63xx_enet-do-not-write-to-random-DMA-channel-on-B.patch - target/linux/generic/backport-4.14/080-net-convert-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch - target/linux/generic/pending-4.14/900-gen_stats-fix-netlink-stats-padding.patch The ext4 regression introduced in 4.14.55 has been fixed by 4.14.60 (commit f547aa20b4f61662ad3e1a2040bb3cc5778f19b0). Fixes the following CVEs: - CVE-2018-10876 - CVE-2018-10877 - CVE-2018-10879 - CVE-2018-10880 - CVE-2018-10881 - CVE-2018-10882 - CVE-2018-10883 Thanks to Stijn Tintel for the CVE list :-). Compile-tested on: ramips/mt7621, x86/64 Run-tested on: ramips/mt7621, x86/64 Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* kernel: bump 4.9 to 4.9.117 for 18.06Stijn Segers2018-08-0649-573/+317
| | | | | | | | | | | | | | | | | | | | | | | * Refreshed patches. * Removed patches: - target/linux/ar71xx/patches-4.9/103-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch superseded by upstream - target/linux/ar71xx/patches-4.9/403-mtd_fix_cfi_cmdset_0002_status_check.patch superseded by upstream - target/linux/brcm63xx/patches-4.9/001-4.11-01-mtd-m25p80-consider-max-message-size-in-m25p80_read.patch accepted upstream - target/linux/brcm63xx/patches-4.9/001-4.15-08-bcm63xx_enet-correct-clock-usage.patch accepted upstream - target/linux/brcm63xx/patches-4.9/001-4.15-09-bcm63xx_enet-do-not-write-to-random-DMA-channel-on-B.patch accepted upstream - target/linux/generic/pending-4.9/900-gen_stats-fix-netlink-stats-padding.patch * New backported patch to address ext4 breakage, introduced in 4.9.112: - backport-4.9/500-ext4-fix-check-to-prevent-initializing-reserved-inod.patch Also add ARM64_SSBD symbol to ARM64 targets still running kernel 4.9 Thanks to Koen Vandeputte for pointing out the need to add the ARM64_SSBD symbol, and the ext4 patch. Compile-tested on: ar71xx Run-tested on: ar71xx Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* bcm53xx: backport BCM5301X/BCM53573 dts commits from 4.19+Rafał Miłecki2018-07-317-104/+475
| | | | | | | | This includes Linksys EA9500 support, BCM53573 timer fix and upstream-ready partitions patch that replaces two downstream hacks. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit a07730472c49c1f7bb56afa3eb8be23e6e87b4f1)
* bcm53xx: switch USB 3.0 PHY DT description to use MDIO busRafał Miłecki2018-07-312-1/+459
| | | | | | | | | | | | | USB 3.0 PHY is attached to the MDIO bus and should be supported (accessed) as a MDIO device. This wasn't known initially which resulted in writing driver that was working with MDIO bus (using some magic values) without knowing it. This commit updates DT to properly describe MDIO & USB 3.0 PHY and enables required kernel drivers. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 8a175ea2198f59795113a3857f6a742a455ad54f)
* bcm53xx: backport DT fix for I2C controller interruptRafał Miłecki2018-07-311-0/+24
| | | | | | | Specified interrupt type was incorrect. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 5c8b8a3fd4be9702940859c1e1e5c3f1b4f33f50)
* kernel: backport mtd support for subpartitions in DTRafał Miłecki2018-07-3118-36/+402
| | | | | | | | | | | | | | | | | This is a new & warm feature that allows nesting partiitons in DT and mixing their types (e.g. static vs. dynamic). It's very useful for boards that have most partitions static but some of them require extra parsing (e.g. a "firmware" partition). It's required to successfully backport support for new devices using that new syntax in their DT files. Since brcm63xx has a custom alternative patch the upstream one is being reverted for it. The plan is to make brcm63xx use the upstream implementation. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 2a598bbaa3f75b7051c2453a6ccf706191cf2153)
* kernel: backport mtd patches with Broadcom of_match_table-sRafał Miłecki2018-07-315-19/+168
| | | | | | | | Two tiny & trivial patches with no regression risk. One simplifies bcm53xx downstream patch. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 6bcafea2c04849e8a9cca71a7759b20d1010d643)
* Re-enable arbitrary IPv6 addresses as outer ip4-in-ip6 tunnel source addressAxel Neumann2018-07-314-4/+4
| | | | | | | | | | | | | | | | | The 666-Add-support-for-MAP-E-FMRs-mesh-mode.patch kernel patches break the possibility for using an ip4ip6 tunnel interface as a fall back interface accepting ip4-in-ip6 tunneled packets from any remote address. This works out of the box with any normal (non-666-patched) kernel and can be configured by setting up an 'ip -6 tunnel' with type 'any' or 'ip4ip6' and a remote address of '::'. The misbehavior comes with line 290 the patch which discards all packets that do not show the expected saddr, even if no single fmr rule was defined and despite the validity of the saddr was already approved earlier. Signed-off-by: Axel Neumann <neumann@cgws.de> Acked-by: Hans Dedecker <dedeckeh@gmail.com> (cherry picked from 65c05301c2)
* kernel: remove duplicate #define's in at803x Ethernet PHY driverDaniel Golle2018-07-312-20/+14
| | | | | | | | | | | | AT803X_REG_CHIP_CONFIG and AT803X_BT_BX_REG_SEL have been defined upstream by commit f62265b53ef3 ("at803x: double check SGMII side autoneg") An existing local patch then added those exact same defines again which isn't necessary, so remove them. Fixes: f791fb4af450 ("kernel: add linux 4.9 support") Fixes: b3f95490b9be ("kernel: generic: Add kernel 4.14 support") Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 67fcff6aaf)
* kernel: re-add patch for AT8032 Ethernet PHYDaniel Golle2018-07-314-11/+81
| | | | | | | | | | | The patch was wrongly removed by a kernel version bump to 4.9.106 in the believe that it was merged upstream thow it wasn't. This lead to unrecoverable link losses on devices which use those PHYs such as many ubnt single-port CPEs. Fixes: 6f8eb1b50f ("kernel: bump 4.9 to 4.9.106 for 18.06") Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit a497e47762)
* Revert "ar71xx: define switch for rb-952ui-5ac2nd"Jo-Philipp Wich2018-07-301-2/+2
| | | | | | | | | This reverts commit 3442ec5d5724ca747c9f76b949dc8d21c94228c0. The device behaviour is reportedly erratic so let's not take chances and leave this out for now. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* ar71xx: define switch for rb-952ui-5ac2ndThibaut VARÈNE2018-07-301-2/+2
| | | | | | | | QCA9533 built-in switch can be configured Tested-by: Thibaut VARÈNE <hacks@slashdirt.org> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org> (cherry picked from commit 0e43c31ebde996ca88f5857bb7e6c4cbf3f65756)
* ar71xx:add support for E750G v8张鹏2018-07-3012-2/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qxwlan E750G v8 is based on Qualcomm QCA9344. Specification: - 560/450/225 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 8/16 MB of FLASH (SPI NOR) - 2T2R 2.4G GHz (AR9344) - 2x 10/100 Mbps Ethernet (PoE support) - 2x 10/100/1000 Mbps Ethernet - 7x LED (6 driven by GPIO) - 1x button (reset) - 1x DC jack for main power input (9-48 V) - UART (J23) and LEDs (J2) headers on PCB Flash instruction (using U-Boot CLI and tftp server): - Configure PC with static IP 192.168.1.10 and tftp server. - Rename "sysupgrade" filename to "firmware.bin" and place it in tftp server directory. - Connect PC with one of RJ45 ports, power up the board and press "enter" key to access U-Boot CLI. - Use the following command to update the device to OpenWrt: "run lfw". Flash instruction (using U-Boot web-based recovery): - Configure PC with static IP 192.168.1.xxx(2-254)/24. - Connect PC with one of RJ45 ports, press the reset button, power up the board and keep button pressed for around 6-7 seconds, until LEDs start flashing. - Open your browser and enter 192.168.1.1, select "sysupgrade" image and click the upgrade button. Signed-off-by: 张鹏 <sd20@qxwlan.com> (cherry picked from commit 53a45020135b504cb4bee0fa8d98c8eaf6391066)
* ar71xx:add support for E750A v4张鹏2018-07-3011-1/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qxwlan E750A v4 is based on Qualcomm QCA9344. Specification: - 560/450/225 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 8/16 MB of FLASH (SPI NOR) - 2T2R 5G GHz (AR9344) - 2x 10/100 Mbps Ethernet (one port with PoE support) - 1x miniPCIe slot (USB 2.0 bus only) - 7x LED (6 driven by GPIO) - 1x button (reset) - 1x DC jack for main power input (9-48 V) - UART (J23) and LEDs (J2) headers on PCB Flash instruction (using U-Boot CLI and tftp server): - Configure PC with static IP 192.168.1.10 and tftp server. - Rename "sysupgrade" filename to "firmware.bin" and place it in tftp server directory. - Connect PC with one of RJ45 ports, power up the board and press "enter" key to access U-Boot CLI. - Use the following command to update the device to OpenWrt: "run lfw". Flash instruction (using U-Boot web-based recovery): - Configure PC with static IP 192.168.1.xxx(2-254)/24. - Connect PC with one of RJ45 ports, press the reset button, power up the board and keep button pressed for around 6-7 seconds, until LEDs start flashing. - Open your browser and enter 192.168.1.1, select "sysupgrade" image and click the upgrade button. Signed-off-by: 张鹏 <sd20@qxwlan.com> (cherry picked from commit ac03d51a3f4daa2f6a2a83f041dcd71674a9f724)
* ar71xx:add support for E558 v2张鹏2018-07-3012-0/+217
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qxwlan E558 v2 is based on Qualcomm QCA9558 + AR8327. Specification: - 720/600/200 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 8/16 MB of FLASH (SPI NOR) - 2T2R 2.4 GHz (QCA9558) - 3x 10/100/1000 Mbps Ethernet (one port with PoE support) - 4x miniPCIe slot (USB 2.0 bus only) - 1x microSIM slot - 5x LED (4 driven by GPIO) - 1x button (reset) - 1x 3-pos switch - 1x DC jack for main power input (9-48 V) - UART (JP5) and LEDs (J8) headers on PCB Flash instruction (using U-Boot CLI and tftp server): - Configure PC with static IP 192.168.1.10 and tftp server. - Rename "sysupgrade" filename to "firmware.bin" and place it in tftp server directory. - Connect PC with one of RJ45 ports, power up the board and press "enter" key to access U-Boot CLI. - Use the following command to update the device to OpenWrt: "run lfw". Flash instruction (using U-Boot web-based recovery): - Configure PC with static IP 192.168.1.xxx(2-254)/24. - Connect PC with one of RJ45 ports, press the reset button, power up the board and keep button pressed for around 6-7 seconds, until LEDs start flashing. - Open your browser and enter 192.168.1.1, select "sysupgrade" image and click the upgrade button. Signed-off-by: 张鹏 <sd20@qxwlan.com> (cherry picked from commit b74f63f81d6121b5eace3f0c0c87399f7e0fde92)
* brcm2708: split sdcard.img.gz into a sysupgrade and factory imageChristian Lamparter2018-07-301-2/+3
| | | | | | | | | | | | | | | | | | | @vahid-dan reported a issue with extracting the rpi images with Gnome's Archive Manager: "Ubuntu Archive Manager cannot extract the file and it just throws a general error message: "An error occurred while extracting files". <https://forum.lede-project.org/t/corrupted-pre-built-v18-06-0-rc2-image-for-rpi> @blogic told me to split the single sdcard.img.gz for the RPi into a sysupgrade and a factory image for all brcm2708 targets. The factory images will have no metadata attached, this way these utilities that can't deal with the attached metadata will not fail for no reason. Cc: John Crispin <john@phrozen.org> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> (cherry picked from commit 7516a960113d512cb2909f40bd07caf2a6c547b1)
* ar71xx: rbspi: fix RB wAP AC gpio conflict and LEDThibaut VARÈNE2018-07-302-11/+9
| | | | | | | | | | | | | | | | e15c63a37574bd15ce3a6636c2f04741ab76f7b9 introduced code that was trying to register GPIO 1 as both an LED and a button. The OEM source makes it clear that LED1 is not wired to the SoC GPIOs. GPIO 1 is the reset button. Furthermore the (green) power led default state should also be defined, (matching OEM source), and it should be used by diag.sh since it's currently the only software-controllable LED. This patch fixes these issues and renames the corresponding #defines for clarity Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org> (cherry picked from commit e99f760235bb45716018faab52d31ce8165f49a0)
* ar71xx: add missing diag LED support for RB wAP 2nDThibaut VARÈNE2018-07-301-1/+2
| | | | | | | | 3b15eb06c366cf3805590a61f22e966a95bf8101 did not include diag.sh edit Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org> (cherry picked from commit 5c2419b6f82e2ec49ecac17ae17fdbdb151701c7)
* brcm47xx: rework model detectionJo-Philipp Wich2018-07-302-18/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | On brcm47xx boards, the model ID is the combination of the "boardtype" nvram variable and an optional supplemental "boardnum" variable while the human readable model name is usually exposed in the "machine" field of the /proc/cpuinfo file. Move the extraction of the board nvram variables and model name string into the 01_sysinfo file and rework the 01_detect board configuration script to solely use the prepared sysinfo values without performing own detection logic. As a consequence, we can drop the ucidef_set_board_id() and ucidef_set_model_name() invocations in favor to the generic behaviour which copies the /tmp/sysinfo/{board_name,model} values into the board.json "id" and "name" fields respectively. Since "01_detect" only contains network configuration logic after this change, move it to "01_network" and rename the contained "detect_by_xxx" functions to "configure_by_xxx" instead, to avoid potential confusion. Fixes FS#1576 Acked-by: Rafał Miłecki <rafal@milecki.pl> Signed-off-by: Jo-Philipp Wich <jo@mein.io> (cherry picked from commit d7d10f2c1e8511fe07c9760e85f2272a85168f8d)
* bcm53xx: revert SPI controller commit breaking flash readsRafał Miłecki2018-07-291-0/+146
| | | | | | | | That upstream commit caused instability in flash reads. It was reported but there isn't any proper fix as for now. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 0417b08b06dd946c2670d0a19e3426c61e33f6be)
* brcm47xx: revert upstream commit breaking BCM4718A1Rafał Miłecki2018-07-271-0/+76
| | | | | | | This fixes kernel hang when booting on BCM4718A1 (& probably BCM4717A1). Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 4c1aa64b4d804e77dfaa8d53e5ef699fcced4b18)
* WDR4900v1 remove dt node for absent hw crypto.Tim Small2018-07-211-0/+24
| | | | | | | | | | | | | | | | | | | The WDR4900v1 uses the P1040 SoC, so the device tree pulls in the definition for the related P1010 SoC. However, the P1040 lacks the CAAM/SEC4 hardware crypto accelerator which the P1010 device tree defines. If left defined, this causes the CAAM drivers (if present) to attempt to use the non-existent device, making various crypto-related operations (e.g. macsec and ipsec) fail. This commit overrides the incorrect dt node definition in the included file. See also: - https://bugs.openwrt.org/index.php?do=details&task_id=1262 - https://community.nxp.com/thread/338432#comment-474107 Signed-off-by: Tim Small <tim@seoss.co.uk> (cherry picked from commit e97aaf483c71fd5e3072ec2dce53354fc97357c9)
* apm821xx: fix sata access freezesChristian Lamparter2018-07-191-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original vendor's driver programmed the dma controller's AHB HPROT values to enable bufferable, privileged mode. This along with the "same priorty for both channels" fixes the freezes according to @takimata, @And.short, that have been reported on the forum by @ticerex. Furtheremore, @takimata reported that the patch also improved the performance of the HDDs considerably: |<https://forum.lede-project.org/t/wd-mybook-live-duo-two-disks/16195/55> |It seems your patch unleashed the full power of the SATA port. |Where I was previously hitting a really hard limit at around |82 MB/s for reading and 27 MB/s for writing, I am now getting this: | |root@OpenWrt:/mnt# time dd if=/dev/zero of=tempfile bs=1M count=1024 |1024+0 records in |1024+0 records out |real 0m 13.65s |user 0m 0.01s |sys 0m 11.89s | |root@OpenWrt:/mnt# time dd if=tempfile of=/dev/null bs=1M count=1024 |1024+0 records in |1024+0 records out |real 0m 8.41s |user 0m 0.01s |sys 0m 4.70s | |This means: 121 MB/s reading and 75 MB/s writing! | |[...] | |The drive is a WD Green WD10EARX taken from an older MBL Single. |I repeated the test a few times with even larger files to rule out |any caching, I'm still seeing the same great performance. OpenWrt is |now completely on par with the original MBL firmware's performance. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* mediatek: fix parallel build issues in image build codeJo-Philipp Wich2018-07-171-10/+4
| | | | | | | | | | Drop the parallel-unsafe custom Build/dtb macro and use the .dtb artifacts produced by the generic image build code. Also remove unused .dtb references in the mt7623 subtarget. Signed-off-by: Jo-Philipp Wich <jo@mein.io> (backported from commit 8194f9ef4a5ab4587e8f6cf1aec96ba89c5766fd)
* apm821xx: fix usb-otg on 4.14Christian Lamparter2018-07-161-1/+1
| | | | | | | | Starting with 4.14, the "amcc,dwc-otg" needs to be used in order to get the usb-otg to work. Signed-off-by: Christian Lamparter <chunkeey@gmail.com> (cherry picked from commit 12b80f1cabf0a7995637fc9b0831b3e9f881f9e6)
* ipq40xx: add get_status_led to diag.shDavid Bauer2018-07-151-0/+4
| | | | | | | | | | | | This commit adds the get_status_led method to diag.sh, which sets the boot-led as status-led for scripts using this method to get a status-led. This method is used platform-independent in downstream project gluon to set the LED used to indicate the config-mode. Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit 4fc005197a320ff728544eba8028f7a9f23e1868)
* kernel: backport page fragment API changes from 4.10+ to 4.9Felix Fietkau2018-07-143-0/+291
| | | | | | mt76 now relies on this API Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: gen_stats: Fix netlink stats dumping in the presence of paddingKevin Darbyshire-Bryant2018-07-132-0/+98
| | | | | | | | | | | | | | | | | | | | | | | | | Backport hot off the press upstream netlink patch. Fixes stats display from CAKE qdisc on MIPS allowing us to bump CAKE to latest version. The gen_stats facility will add a header for the toplevel nlattr of type TCA_STATS2 that contains all stats added by qdisc callbacks. A reference to this header is stored in the gnet_dump struct, and when all the per-qdisc callbacks have finished adding their stats, the length of the containing header will be adjusted to the right value. However, on architectures that need padding (i.e., that don't set CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS), the padding nlattr is added before the stats, which means that the stored pointer will point to the padding, and so when the header is fixed up, the result is just a very big padding nlattr. Because most qdiscs also supply the legacy TCA_STATS struct, this problem has been mostly invisible, but we exposed it with the netlink attribute-based statistics in CAKE. Fix the issue by fixing up the stored pointer if it points to a padding nlattr. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> (cherry picked from commit 3698b34a00d623f87a41179e656b8e89d0bb7267)
* ramips: clean up and fix MT7621 NAND driver issuesFelix Fietkau2018-07-131-74/+25
| | | | | | | | | | | | - remove misaligned custom buffer allocation in the NAND driver - remove broken bounce buffer implementation for 16-byte align Let the MTD core take care of both Fixes messages like these: [ 102.820541] Data buffer not 16 bytes aligned: 87daf08c Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: ethernet: use own page_frag_cacheFelix Fietkau2018-07-132-3/+15
| | | | | | | | | | | | | | | | Using the NAPI or netdev frag cache along with other drivers can lead to 32 KiB pages being held for a long time, despite only being used for very few page fragment. This can happen if the ethernet driver grabs one or two fragments for rx ring refill, while other drivers use (and free up) the remaining fragments. The 32 KiB higher-order page can only be freed once all users have freed their fragments, which only happens after the rings of all drivers holding the fragments have wrapped around. Depending on the traffic patterns, this can waste a lot of memory and look a lot like a memory leak Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: ethernet: use skb_free_frag to free fragmentsFelix Fietkau2018-07-131-3/+3
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: TP-Link TL-WR902AC v3: add missing wps buttonPeter Lundkvist2018-07-121-1/+7
| | | | Signed-off-by: Peter Lundkvist <peter.lundkvist@gmail.com>
* ramips: TP-Link TL-WR902AC v3: don't build factory imagePeter Lundkvist2018-07-121-1/+0
| | | | | | | | | | | | | | | | | | | | | The line that produces factory image was accidentally left by me while testing before inital commit. I came to the conclusion that flashing from OEM firmware does not work (seems to share this behavior with other tplinks based on mt7628). I have not done any further analysis, as I was unable to open the case and attach a serial port (too much glue). Maybe i will try once more. So the way to do initial flashing (or un-bricking) is to use the tftp-recover image. It is possible to revert to OEM firmware with tftp recovery; in this case the first 512 bytes the image file need to be cut off. Signed-off-by: Peter Lundkvist <peter.lundkvist@gmail.com> [add explaination provided via mail as commit message] Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: bump 4.14 to 4.14.54 for 18.06Koen Vandeputte2018-07-1227-283/+283
| | | | | | | | | | | | Refreshed all patches Reworked patches to match upstream: 335-v4.16-netfilter-nf_tables-add-single-table-list-for-all-fa.patch Compile-tested on: cns3xxx, imx6, x86_64 Runtime-tested on: cns3xxx, imx6, x86_64 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.9 to 4.9.111 for 18.06Koen Vandeputte2018-07-125-167/+189
| | | | | | | | | Refreshed all patches Compile-tested on: ar71xx Runtime-tested on: ar71xx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bcm47xxpart: fix getting user-space data partition nameRafał Miłecki2018-07-102-2/+4
| | | | | | | | | | | | Partition name is picked by a parser_trx_data_part_name(). It has to get correct partition offset (taking care of bad blocks) to work properly. This fixes UBI support for devices that have kernel flashed on partition with a bad block. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 7ddba08d873a0ce6d2d32b8f6a1bea550107ca44)
* ipq806x: fix numbering for Netgear R7800 LAN portsAleksandr V. Piskunov2018-07-041-5/+5
| | | | | | | | | | Netgear R7800 switch LAN ports are numbered backwards in LuCI, i.e. numbering is not corresponding to the actual physical port labels, patch fixes that. Signed-off-by: Aleksandr V. Piskunov <aleksandr.v.piskunov@gmail.com> [merged with existing board using the same config] Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* lantiq: backport stp-xway get callback implementationMathias Kresin2018-07-032-0/+94
| | | | | | | | | | | To keep the status of a LED connected to the stp during boot, the get callback is required. If the callback is missing and the LED default state is set to keep in the devicetree, the gpio led driver errors out during load. Fixes: FS#1620 Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: limit dictionary size for lzma compressionFelix Fietkau2018-07-031-1/+1
| | | | | | | | | | | | In some cases, recent builds fail to boot from flash with at least some MT7621 based devices. The error message is: "LZMA ERROR 1 - must RESET board to recover" Booting the same kernel via TFTP works for some reason. Through testing I figured out that limiting the LZMA dictionary size seems to prevent these errors Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: bump 4.14 to 4.14.52 for 18.06Stijn Segers2018-07-02146-1692/+910
| | | | | | | Compile-tested on: ramips/mt7621, x86/64. Run-tested on: ramips/mt7621. Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* kernel: bump 4.9 to 4.9.110 for 18.06Stijn Segers2018-07-025-199/+177
| | | | | | Compile-tested on ar71xx. Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* ramips: move mt7620n i2c_pins definition to right placeAndrey Jr. Melnikov2018-06-271-7/+7
| | | | | | | | | | Move to i2c pins pinmux node to the pinctrl node. Fixes: a0685deec458 ("ramips: Add i2c support for mt7620n") Signed-off-by: Andrey Jr. Melnikov <temnota.am@gmail.com> [fix commit message] Signed-off-by: Mathias Kresin <dev@kresin.me>
* ipq806x: remove "firmware" partition definition from netgear routersHannu Nyman2018-06-274-20/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the "firmware" partition definition from the DTS of R7800 to fix sysupgrade. Commit 4645a6d3 defined CONFIG_MTD_SPLIT_UIMAGE_FW=y for ipq806x and that causes mtd to misbehave as additional kernel and ubi partitions are detected from inside the "firmware" partition. [ 1.111324] 0x000001480000-0x000001880000 : "kernel" [ 1.121005] 0x000001880000-0x000007900000 : "ubi" [ 1.283912] 0x000007900000-0x000008000000 : "reserve" [ 1.296407] 0x000001480000-0x000007900000 : "firmware" [ 1.468043] no rootfs found after FIT image in "firmware" [ 2.426860] 2 uimage-fw partitions found on MTD device firmware [ 2.426931] 0x000001480000-0x000001880000 : "kernel" [ 2.440420] 0x000001880000-0x000007900000 : "ubi" Both kernel and ubi are already defined in DTS, so this duplication leads into errors in sysupgrade: Writing from <stdin> to kernel ... ubiattach: error!: strtoul: unable to parse the number '6 mtd10' ubiattach: error!: bad MTD device number: "6 mtd10" The partition is defined to same area as kernel+ubi, and is not needed for sysupgrade anymore. Remove it to fix things. Only tested for the R7800 but all of them should behave equal. Fixes: FS#1617 Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi> [squashed commits, add "tested on" note] Signed-off-by: Mathias Kresin <dev@kresin.me>
* ipq806x: Enlarge R7800 flash - use netgear partitionHannu Nyman2018-06-271-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Increase the available flash memory size in Netgear R7800 by taking into the use the unused "netgear" partition that is located after the firmware partition. Available flash space for kernel+rootfs+overlay increases by 68 MB from 32 MB to 100 MB. In a typical build, overlay space increases from 15 to 85, increasing the package installation possibilities greatly. Reverting to the OEM firmware is still possible, as the OEM firmware contains logic to initialise the "netgear" partition if its contents do not match expectations. In OEM firmware, "netgear" contains 6 UBI sub-partitions that are defined in /etc/netgear.cfg and initialisation is done by /etc/preinit Tested with Openwrt master r7093-4fdc6ca31b and OEM V1.0.2.52 Reference to forum discussion in Netgear R7800 exploration thread: https://forum.lede-project.org/t/netgear-r7800-exploration-ipq8065-qca9984/285/1118 (messages 1118-1158) Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* ramips: add switch port index for I-O DATA WN-GX300GRINAGAKI Hiroshi2018-06-271-2/+2
| | | | | | | | | | | WN-GX300GR has 5x RJ45 ports (port 0-4), and these ports are orderd on the device as follows: 4 3 2 1 0 1-4: lan 0: wan Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>