aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ramips: mt7621: update dts/defconfig for DSADENG Qingfang2020-04-0470-317/+1888
| | | | | | | | | | | update dts and network/LED configuration for DSA driver. sysupgrade from images prior to this commit with config preserved will cause broken ethernet setup. Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn> Acked-by: Jo-Philipp Wich <jo@mein.io> [split commit] Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: mt7621: backport GPIO driver fixDENG Qingfang2020-04-042-0/+118
| | | | | | Backport 2 patches from linux-next to fix mt7621 GPIO driver Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* ramips: mt7621: update PCIe node in dtsiDENG Qingfang2020-04-041-14/+29
| | | | | | Update PCIe node in dtsi to match the new driver Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* ramips: mt7621: backport PCIe driver fixes from staging-testDENG Qingfang2020-04-0420-0/+1730
| | | | | | Backport mt7621-pci/mt7621-pci-phy fixes from staging-test Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* ramips: mt7621: update pinctrl nodesDENG Qingfang2020-04-0466-156/+156
| | | | | | Upstream GPIO driver uses "groups" "function" properties Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* ramips: mt7621: convert GPIO dts refsDENG Qingfang2020-04-0470-374/+374
| | | | | | | The upstream driver does not use &gpio0..2 banks notation anymore, so convert them to &gpio Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* ramips: mt7621: replace gpio/eth nodes in mt7621.dtsiDENG Qingfang2020-04-041-42/+94
| | | | | | | There's different gpio and ethernet drivers upstream for mt7621. Update these two nodes to match upstream dt bindings. Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* ramips: mt7621: refresh kernel configDENG Qingfang2020-04-041-52/+68
| | | | Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* ramips: refresh patchesDENG Qingfang2020-04-0444-9770/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | Removed upstreamed/solved elsewhere upstream: - 0001-MIPS-ralink-Add-rt3352-SPI_CS1-pinmux.patch - 0002-MIPS-pci-rt2880-set-pci-controller-of_node.patch - 0004-MIPS-ralink-add-MT7621-pcie-driver.patch - 0009-PCI-MIPS-enable-PCIe-on-MT7688.patch - 0025-pinctrl-ralink-add-pinctrl-driver.patch - 0028-GPIO-ralink-add-mt7621-gpio-controller.patch - 0043-spi-add-mt7621-support.patch - 0045-i2c-add-mt7621-driver.patch - 0047-DMA-ralink-add-rt2880-dma-engine.patch - 0053-mtd-spi-nor-add-w25q256-3b-mode-switch.patch - 0054-mtd-spi-nor-w25q256-respect-default-mode.patch - 0099-pci-mt7620.patch - 304-spi-nor-enable-4B-opcodes-for-mx25l25635f.patch Removed because of the new NAND driver: - 0038-Revert-mtd-nand-Remove-unused-chip-write_page-hook.patch - 0039-mtd-add-mt7621-nand-support.patch - 0040-nand-hack.patch Remove patch that no longer applies (needs rework): - 0034-NET-multi-phy-support.patch Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* ramips: mtk-mmc: set correct DMA maskDENG Qingfang2020-04-041-1/+1
| | | | | | | | | | | Since commit f8c55dc ("MIPS: use generic dma noncoherent ops for simple noncoherent platforms") changed MIPS dma handling, the mmc driver fails because it doesn't have a dma mask is set. So set the correct dma mask. Signed-off-by: NeilBrown <neil@brown.name> Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* ramips: move MTK MMC driver to files directoryDENG Qingfang2020-04-047-0/+0
| | | | | | | Move MTK MMC driver from "files-4.14" to "files" so kernel 5.4 can use it Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* ramips: copy patches and kernel config to 5.4DENG Qingfang2020-04-0450-0/+14495
| | | | | | Copy patches and kernel config to 5.4 for ramips Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* bcm53xx: refactor board.d code in 02_networkRafał Miłecki2020-04-031-94/+95
| | | | | | | | | | | 1. Use functions for cleaner code 2. Always execute WAN interface generic code Before this change WAN interface code wasn't executed on all devices due to an early "exit 0". Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: add module for Mellanox mlx Network DriverTan Zien2020-04-031-0/+35
| | | | | | | | add module to support Mellanox Connect-X card mlx4 supports ConnectX-3 series and previous cards mlx5 supports Connect-IB/ConnectX-4 series and later cards Signed-off-by: Tan Zien <nabsdh9@gmail.com>
* imx6: bootscript: use partition UUID for rootfs if possibleTim Harvey2020-04-031-14/+20
| | | | | | | | | | | | | Specifying root filesystem by device is non-deterministic for several reasons: - USB device unmeration order is not garunteeed for USB storage devs - MMC devs ordering is determined by the instance of the MMC host controller including non-storage SDIO devices which can throw off numbering depending on kernel versions. It is recommended to use partition UUID Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* octeontx: switch to kernel 5.4Tim Harvey2020-04-031-2/+1
| | | | | | 5.4 is stable on Gateworks Newport GW610x/GW620x/GW630x/GW640x Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* build: refactor JSON info files to `profiles.json`Paul Spooren2020-04-036-66/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | JSON info files contain machine readable information of built profiles and resulting images. These files were added in commit 881ed09ee6e2 ("build: create JSON files containing image info"). They are useful for firmware wizards and script checking for reproducibility. Currently all JSON files are stored next to the built images, resulting in up to 168 individual files for the ath79/generic target. This patch refactors the JSON creation to store individual per image (not per profile) files in $(BUILD_DIR)/json_info_files and create an single overview file called `profiles.json` in the target directory. Storing per image files and not per profile solves the problem of parallel file writes. If a profiles sysupgrade and factory image are finished at the same time both processes would write to the same JSON file, resulting in randomly broken outputs. Some target like x86/64 do not use the image code yet, resulting in missing JSON files. If no JSON info files were created, no `profiles.json` files is created as it would be empty anyway. As before, this creation is enabled by default only if `BUILDBOT` is set. Tested via buildroot & ImageBuilder on ath79/generic, imx6 and x86/64. Signed-off-by: Paul Spooren <mail@aparcar.org> [json_info_files dir handling in Make, if case refactoring] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* grub2: fix build when ASLR enabledKevin Darbyshire-Bryant2020-04-021-2/+3
| | | | | | | | | | | | | | Disable ASLR and filter '-fno-plt' from CFLAGS: solves building when ASLR enabled by basically disabling ASLR. Solves errors similar to: relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE or module missing GLOBAL_OFFSET_TABLE Suggested-by: 李国 <uxgood.org@gmail.com> Acked-by: Petr Štetiar <ynezz@true.cz> Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* kmod-sched-cake: switch to in-tree cake for 4.19+Kevin Darbyshire-Bryant2020-04-017-3/+642
| | | | | | | | | | | | | | Use in tree version of cake for kernels 4.19+ and backport features from later kernel versions to 4.19. Unfortunately PROVIDES dependency handling produces bogus circular dependency warnings so whilst this package and kmod-sched-cake-oot should be able to PROVIDE kmod-sched-cake this doesn't work. Instead, remove the PROVIDES option and modify package sqm-scripts to depend on the correct module independently. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* kmod-sched-cake: rename to kmod-sched-cake-ootKevin Darbyshire-Bryant2020-04-011-6/+7
| | | | | | | | | | | | | In preparation for dropping the out of tree cake module and using in tree cake from upstream, rename the package to kmod-sched-cake-oot (out of tree) Initially add a PROVIDES kmod-sched-cake so that package dependencies can be satisfied. Ultimately this package will be removed when linux 4.14 is removed. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* wireguard: bump to 1.0.20200401Jason A. Donenfeld2020-04-011-2/+2
| | | | | | | Recent backports to 5.5 and 5.4 broke our compat layer. This release is to keep things running with the latest upstream stable kernels. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* mac80211: rt2x00: prune more unnecessary exportsDaniel Golle2020-04-015-137/+27
| | | | | | | | | | | | The calibration patches for MT7620 unnecessarily export symbols and populate never accessed function pointers. Remove all that and make functions static as the only place where each of those functions is called is within rt2800lib.c. Also make code more readable by fixing indentation, removing unnecessary parantheses and simplifying some instructions using shorthands here and there. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* jansson: convert to cmakeKevin Darbyshire-Bryant2020-04-011-14/+9
| | | | Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* openssl: bump to 1.1.1fEneas U de Queiroz2020-04-012-83/+3
| | | | | | | | | There were two changes between 1.1.1e and 1.1.1f: - a change in BN prime generation to avoid possible fingerprinting of newly generated RSA modules - the patch reversing EOF detection we had already applied. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* oxnas: some improvements for Shuttle KD20Daniel Golle2020-03-313-7/+59
| | | | | | | | | * install kmod-hwmon-drivetemp by default * wire up thermal zone * fix fan GPIO polarity * fix i2c-gpio GPIO_OPEN_DRAIN Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* oxnas: fix warning in SATA driverDaniel Golle2020-03-311-1/+1
| | | | | | | | | drivers/ata/sata_oxnas.c: In function 'sata_oxnas_port_irq': drivers/ata/sata_oxnas.c:2126:25: warning: left shift count >= width of type [-Wshift-count-overflow] if (ap->qc_active & (1 << ATA_TAG_INTERNAL)) { ^~ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ipq40xx: fix DAP-2610 boot failurePetr Štetiar2020-03-311-0/+1
| | | | | | | | | | | | | Albert has reported, that his DAP-2610 wont boot with the latest snapshot and Fredrik has found out, that the device gets stuck at "Waiting for root device ..." due to missing 5.4 kernel config symbol CONFIG_MTD_SPLIT_WRGG_FW which was probably lost during the kernel version bump. Ref: https://forum.openwrt.org/t/dap-2610-bricked-help-needed Fixes: 272e0a702a2b ("ipq40xx: add v5.4 support") Suggested-by: Fredrik Olofsson <fredrik.olofsson@anyfinetworks.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* x86/64: add cdrom and iso9660 drivers李国2020-03-312-0/+8
| | | | | | | The iso image need cdrom and iso9660 drivers to boot, otherwise it will hang when mounting the root file system Signed-off-by: 李国 <uxgood.org@gmail.com>
* x86: generate EFI platform bootable images李国2020-03-3112-38/+165
| | | | | | | | | | | | | | | | | Add EFI platform bootable images for x86 platforms. These images can also boot from legacy BIOS platform. EFI System Partition need to be fat12/fat16/fat32 (not need to load filesystem drivers), so the first partition of EFI images are not ext4 filesystem any more. GPT partition table has an alternate partition table, we did not generate it. This may cause problems when use these images as qemu disk (kernel can not find rootfs), we pad enough sectors will be ok. Signed-off-by: 李国 <uxgood.org@gmail.com> [part_magic_* refactoring, removed genisoimage checks] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* grub2: make some change to add efi platform support李国2020-03-312-28/+55
| | | | | | | | 1.generate boot image at Package/install section 2.move boot image to $(STAGING_DIR_IMAGE)/grub2/ 3.add efi variant to support efi platform Signed-off-by: 李国 <uxgood.org@gmail.com>
* firmware-utils: ptgen: add GPT support李国2020-03-312-24/+319
| | | | | | | | | | | | | | | | Add GPT support to ptgen, so we can generate EFI bootable images. Introduced two options: -g generate GPT partition table -G GUID use GUID for disk and increase last bit for all partitions We drop The alternate partition table to reduce size, This may cause problems when generate vmdk images or vdi images. We have to pad enough sectors when generate these images. Signed-off-by: 李国 <uxgood.org@gmail.com> [fixed compilation on macOS] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* bcm27xx-gpu-fw: update to latest version from RPi foundationÁlvaro Fernández Rojas2020-03-311-22/+15
| | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm27xx: update 5.4 patches from RPi foundationÁlvaro Fernández Rojas2020-03-3184-6/+7955
| | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* wireguard: bump to 1.0.20200330Jason A. Donenfeld2020-03-311-2/+2
| | | | | | | | | | | | | | | | | * queueing: backport skb_reset_redirect change from 5.6 * version: bump This release has only one slight change, to put it closer to the 5.6 codebase, but its main purpose is to bump us to a 1.0.y version number. Now that WireGuard 1.0.0 has been released for Linux 5.6 [1], we can put the same number on the backport compat codebase. When OpenWRT bumps to Linux 5.6, we'll be able to drop this package entirely, which I look forward to seeing. [1] https://lists.zx2c4.com/pipermail/wireguard/2020-March/005206.html Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* generic: mips: exclude more dsemul code when fpu-emu is not enabledYousong Zhou2020-03-301-0/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch is backported from mips-next. In addition to minor reduction of code size and runtime memory use, the more apparent difference is that the delay slot emulation page will not be present for those targets with fpu emulation disabled (CONFIG_MIPS_FP_SUPPORT=n) Memory maps of busybox before and after this change root@OpenWrt:/# cat /proc/self/maps 00400000-00449000 r-xp 00000000 00:02 23 /bin/busybox 00458000-00459000 r-xp 00048000 00:02 23 /bin/busybox 00459000-0045a000 rwxp 00049000 00:02 23 /bin/busybox 77dc0000-77de2000 r-xp 00000000 00:02 273 /lib/libgcc_s.so.1 77de2000-77de3000 r-xp 00012000 00:02 273 /lib/libgcc_s.so.1 77de3000-77de4000 rwxp 00013000 00:02 273 /lib/libgcc_s.so.1 77de4000-77e7b000 r-xp 00000000 00:02 271 /lib/libc.so 77e8a000-77e8c000 rwxp 00096000 00:02 271 /lib/libc.so 77e8c000-77e8e000 rwxp 00000000 00:00 0 7fd86000-7fda7000 rw-p 00000000 00:00 0 [stack] 7fefd000-7fefe000 r-xp 00000000 00:00 0 7ffe6000-7ffe7000 r--p 00000000 00:00 0 [vvar] 7ffe7000-7ffe8000 r-xp 00000000 00:00 0 [vdso] root@OpenWrt:/# cat /proc/self/maps 00400000-00449000 r-xp 00000000 00:02 23 /bin/busybox 00458000-00459000 r-xp 00048000 00:02 23 /bin/busybox 00459000-0045a000 rwxp 00049000 00:02 23 /bin/busybox 77d55000-77d77000 r-xp 00000000 00:02 274 /lib/libgcc_s.so.1 77d77000-77d78000 r-xp 00012000 00:02 274 /lib/libgcc_s.so.1 77d78000-77d79000 rwxp 00013000 00:02 274 /lib/libgcc_s.so.1 77d79000-77e10000 r-xp 00000000 00:02 272 /lib/libc.so 77e1f000-77e21000 rwxp 00096000 00:02 272 /lib/libc.so 77e21000-77e23000 rwxp 00000000 00:00 0 7fe23000-7fe44000 rw-p 00000000 00:00 0 [stack] 7ff63000-7ff64000 r--p 00000000 00:00 0 [vvar] 7ff64000-7ff65000 r-xp 00000000 00:00 0 [vdso] Acked-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Rosen Penev <rosenp@gmail.com> Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* tplink-safeloader: update soft_ver for TP-Link Archer C6 v2 (EU)Georgi Vlaev2020-03-301-1/+1
| | | | | | | | | | | | The last couple of TP-Link firmware releases for Archer C6 v2 (EU) have switched to version 1.2.x. Bump the soft_ver to "1.2.1" to allow firmware updates from the vendor web interface. TP-Link vendor firmware releases supported by this change: * Archer C6(EU)_V2_200110: soft_ver:1.2.1 Build 20200110 rel.60119 * Archer C6(EU)_V2_191014: soft_ver:1.2.0 Build 20191014 rel.33289 Signed-off-by: Georgi Vlaev <georgi.vlaev@gmail.com>
* ath10k-ct: Support AQL on ath10k CT_KVER-5.4Jose Olivera2020-03-301-0/+10
| | | | | | | | | | | | | | | | | Commit ea50780 backported Airtime Queue Limits (AQL) from Linux 5.5 to OpenWrt's backports 5.4. However, this only enabled AQL for the vanilla ath10k driver. This patch also enables it for ath10k-ct. Tested on: * 2xTP-Link Archer A7v5 (QCA9563/QCA988X) * Backports version 5.4-rc8 & 5.4.27 * ath10k-ct and ath10k-ct-htt firmware version 014 to 017 * ath10k-ct driver versions dc025dc to 3d173a4 (CT_KVER-5.4) * WPA2, 802.11krv Tested since January 25, 2020. Signed-off-by: Jose Olivera <oliverajeo@gmail.com>
* hostapd: add abridged flag in disassoc_imminentNick Hainke2020-03-301-0/+5
| | | | | | | | | | | | | If the abridged flag is set to 1 the APs that are listed in the BSS Transition Candidate List are prioritized. If the bit is not set, the APs have the same prioritization as the APs that are not in the list. If you want to steer a client, you should set the flag! The flag can be set by adding {...,'abridged': true,...} to the normal ubus call. Signed-off-by: Nick Hainke <vincent@systemli.org>
* hostapd: expose beacon reports through ubusNick Hainke2020-03-303-0/+51
| | | | | | | | | | | | | | | | | | | Subscribe to beacon reports through ubus. Can be used for hearing map and client steering purposes. First enable rrm: ubus call hostapd.wlan0 bss_mgmt_enable '{"beacon_report":True}' Subscribe to the hostapd notifications via ubus. Request beacon report: ubus call hostapd.wlan0 rrm_beacon_req '{"addr":"00:xx:xx:xx:xx:xx", "op_class":0, "channel":1, "duration":1,"mode":2,"bssid":"ff:ff:ff:ff:ff:ff", "ssid":""}' Signed-off-by: Nick Hainke <vincent@systemli.org> [rework identation] Signed-off-by: David Bauer <mail@david-bauer.net>
* hostapd: Add 802.11r support for WPA3-EnterpriseJesus Fernandez Manzano2020-03-301-0/+1
| | | | Signed-off-by: Jesus Fernandez Manzano <jesus.manzano@galgus.net>
* kernel: Enable CMOS RTC support on 5.4Kevin Darbyshire-Bryant2020-03-291-1/+1
| | | | | | | | | Enable kernel symbol CONFIG_RTC_DRV_CMOS which was enabled in 4.14 & 4.19 Fixes FS#2905 and now my APU2 picks up time from RTC Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ramips: Deactivate NETGEAR WNCE2001 by defaultHauke Mehrtens2020-03-291-0/+1
| | | | | | | | | The root file system is getting too big for this device and this breaks the ramips/rt305x build. Do not build images for this board by default to fix this problem. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* odhcp6c: update to latest git HEADHans Dedecker2020-03-291-3/+3
| | | | | | f575351 ra: fix sending router solicitations Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* dnsmasq: bump to 2.81rc4Kevin Darbyshire-Bryant2020-03-291-2/+2
| | | | Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* nftables: implement no/json variantsKevin Darbyshire-Bryant2020-03-291-14/+26
| | | | | | | | | | | Replace the build time choice of json support with a package based choice. Users requiring a json aware version of 'nft' may now install nftables-json. The default choice to fulfill the 'nftables' package dependency is 'nftables-nojson' Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* jansson: import jansson from packagesKevin Darbyshire-Bryant2020-03-291-0/+51
| | | | Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* treewide: Don't diverge from upstream default HZ settings on 4.19Daniel Engberg2020-03-296-12/+4
| | | | | | | | | | | Most targets upstream use 250Hz or even 1000Hz by default while 100Hz is hardcoded in OpenWrt's default config. Use upstream default except for apm821xx which hardsets 1000Hz instead of platform default of 250Hz. Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net> [Apply same changes to 5.4] Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* mac80211: Update to version 5.4.27Hauke Mehrtens2020-03-2938-654/+57
| | | | | | The removed patches are all integrated in the upstream version now. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: Fix rt2x00 exportsHauke Mehrtens2020-03-292-17/+6
| | | | | | | | | | | | | | | | | | | Do not export static functions, they are anyway not referenced by any code in a different module. This fixes the following compile warning: WARNING: "rt2800_rf_aux_tx0_loopback" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_write_dc" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_rf_configstore" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_do_sqrt_accumulation" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_rf_configrecover" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_loft_search" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_iq_search" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_setbbptonegenerator" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_rf_aux_tx1_loopback" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL Acked-by: Daniel Golle <daniel@makrotopia.org> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: generic: 5.4: fix mtd concat panic on read/write functionsMichal Cieslakiewicz2020-03-291-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 2431c4f5b46c32c4ac495456b1ef4ce59c0bb85d ("mtd: Implement mtd_{read,write}() as wrappers around mtd_{read,write}_oob()") for kernel 5.4 restrict mtd devices to register only one type of read/write functions (either generic or OOB). mtd concat does not follow above rule and defines both methods at the same time, causing this type of device to be rejected by kernel. For routers that use mtd concat for root UBI volume that means kernel panic and boot loop with following error: [ 0.767307] Creating 1 MTD partitions on "ubi-concat": [ 0.772547] 0x000000000000-0x000007500000 : "ubi" [ 0.777953] ------------[ cut here ]------------ [ 0.782683] WARNING: CPU: 0 PID: 1 at drivers/mtd/mtdcore.c:621 add_mtd_device+0x84/0x5f4 [ 0.790983] Modules linked in: [ 0.794093] CPU: 0 PID: 1 Comm: swapper Not tainted 5.4.24 #0 [ 0.799932] Stack : 80680000 8062af20 00000000 00000000 8062a0f0 87c2dae4 87c282fc 8065fd23 [ 0.808430] 805c64f4 00000001 807b32d8 80670000 80670000 00000001 87c2da98 25c15bcb [ 0.816909] 00000000 00000000 807e0000 0000006e 61696e74 00000000 2e342e32 34202330 [ 0.825397] 0000006e cef2ada7 00000000 000c1ded 00000000 00000009 00000000 8034de64 [ 0.833889] 00000009 80670000 80670000 80676d18 00000000 80320044 00000000 807b0000 [ 0.842381] ... [ 0.844861] Call Trace: [ 0.847367] [<80069994>] show_stack+0x30/0x100 [ 0.851913] [<8007e8ac>] __warn+0xc0/0x10c [ 0.856072] [<8007e954>] warn_slowpath_fmt+0x5c/0xac [ 0.861134] [<8034de64>] add_mtd_device+0x84/0x5f4 [ 0.866001] [<80352a50>] add_mtd_partitions+0xd8/0x1b8 [ 0.871231] [<803527b8>] parse_mtd_partitions+0x238/0x3f8 [ 0.876717] [<8034e51c>] mtd_device_parse_register+0x48/0x1b0 [ 0.882586] [<8038dd2c>] virt_concat_probe+0x170/0x1ec [ 0.887820] [<803334c8>] platform_drv_probe+0x40/0x94 [ 0.892970] [<80331638>] really_probe+0x104/0x35c [ 0.897766] [<80331d54>] device_driver_attach+0x70/0x98 [ 0.903072] [<80331ddc>] __driver_attach+0x60/0x100 [ 0.908042] [<8032f668>] bus_for_each_dev+0x68/0xa4 [ 0.912989] [<803309d4>] bus_add_driver+0x1f0/0x200 [ 0.917952] [<80332448>] driver_register+0x84/0x148 [ 0.922906] [<80060a1c>] do_one_initcall+0x7c/0x1dc [ 0.927870] [<80684e14>] kernel_init_freeable+0x158/0x23c [ 0.933361] [<805387d8>] kernel_init+0x10/0xf0 [ 0.937883] [<80064dd8>] ret_from_kernel_thread+0x14/0x1c [ 0.943375] ---[ end trace 62e0927fba490f68 ]--- [...] [ 2.266513] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) [ 2.274893] Rebooting in 1 seconds.. This patch makes mtd concat to follow new mtd requirements by registering either normal or oob versions of read/write functions, but not both at the same time. OOB is used only when underlying mtd devices provide such functionality (like NAND chips) - otherwise generic methods are used. Tested successfully on Netgear WNDR4300. Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>