aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
...
* kernel: update and refresh patchesStijn Tintel2017-10-0814-88/+78
| | | | | | | | | | The lantiq patch 0028-NET-lantiq-various-etop-fixes.patch and sunxi patch 0051-stmmac-form-4-11.patch no longer applied after applying the the "generalize napi_complete_done()" patch. Update them so they apply, and refresh patches while at it. Fixes: 9aeb7ce8dc5 ("generic: net: generalize napi_complete_done") Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* generic: net: generalize napi_complete_donePavel Kubelun2017-10-081-0/+1412
| | | | | | | | | Backport upstream commit that improves ethernet performance by a small amount. Compile and run tested on ipq8065. Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
* generic: net: tcp: backport tcp tx performance patchesPavel Kubelun2017-10-089-0/+712
| | | | | | | | | An overall throughput gain of 22 % for heavy TCP use over a single TX queue. Original patchset comment https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v4.13&id=3f4888adae7c1619b990d98a9b967536f71822b8 Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
* kernel: split 82574L patch into multiple filesStijn Tintel2017-10-086-327/+326
| | | | | | | | | | | | | | | | | | | | When refreshing patches that cointain multiple patches including headers in a single file, quilt will remove the headers from all but the first patch. This makes it difficult to review commits that refresh patches. Next to that, if only a few of the patch series are accepted in -stable, the patch needs to be manually modified. With each patch in a separate file, it's just a matter of git rm. Refresh patches while at it. Patchwork links: [1/5] https://patchwork.kernel.org/patch/9857487/ [2/5] https://patchwork.kernel.org/patch/9857489/ [3/5] https://patchwork.kernel.org/patch/9857495/ [4/5] https://patchwork.kernel.org/patch/9857491/ [5/5] https://patchwork.kernel.org/patch/9857493/ Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: Add some more generic config optionsHauke Mehrtens2017-10-083-10/+9
| | | | | | | | These options are deactivating some kernel modules for IP blocks not uses on this SoC. I saw the same when working with the ARM64 Marvell board so it is better to move them to generic. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* layerscape: remove wifi configHauke Mehrtens2017-10-082-32/+0
| | | | | | This is provided by the mac80211 package Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: add missing config options for layerscape targetHauke Mehrtens2017-10-081-0/+5
| | | | | | This fixes some problems found by build bot. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ar71xx: Fix NULL pointer dereferece in at803x_link_change_notify()Andrey Jr. Melnikov2017-10-071-2/+2
| | | | | | | Check pdata pointer before use to avoid OOPS if dev_get_platdata() return NULL. Signed-off-by: Andrey Jr. Melnikov <temnota.am@gmail.com>
* layerscape: select sdk dts for ls1043ardb/ls1046ardbYangbo Lu2017-10-071-2/+2
| | | | | | | ls1043ardb/ls1046ardb should use sdk dts. This patch is to fix this. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: fix CPU_TYPE for armv8_32b targetsYangbo Lu2017-10-071-1/+2
| | | | | | | | | Layerscape uses Cortex-A53 or Cortex-A72 CPU. It's proper to set below CPU_TYPE for 32-bit mode. CPU_TYPE:=cortex-a15 CPU_SUBTYPE:=neon-vfpv4 Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: add linux 4.9 supportYangbo Lu2017-10-0732-1/+251241
| | | | | | | This patch is to add linux 4.9 support for layerscape. All these kernel patches are from NXP LSDK 1709 release. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: drop linux 4.4 supportYangbo Lu2017-10-07251-240467/+0
| | | | | | This patch is to drop linux 4.4 for layerscape. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: make uImage with zImage for 32-bit kernelYangbo Lu2017-10-074-2/+5
| | | | | | | uImage should be made with zImage. This patch is to support making uImage with zImage. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: update memory layout according to LSDKYangbo Lu2017-10-071-13/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The uniform memory layout of NOR/QSPI/NAND/SD media on all Layerscape platforms: +-----------------------------+---------|--------------|-----------------+ |Firmwre Definition | MaxSize | Flash Offset | SD Start Block #| |-----------------------------|---------|--------------|-----------------| |RCW+PBI | 1MB | 0x00000000 | 0x00008 | |-----------------------------|---------|--------------|-----------------| |Boot firmware(U-Boot,UEFI) | 2MB | 0x00100000 | 0x00800 | |-----------------------------|---------|--------------|-----------------| |Boot firmware Environment | 1MB | 0x00300000 | 0x01800 | |-----------------------------|---------|--------------|-----------------| |PPA firmware | 2MB | 0x00400000 | 0x02000 | |-----------------------------|---------|--------------|-----------------| |Secure boot headers | 3MB | 0x00600000 | 0x03000 | |-----------------------------|---------|--------------|-----------------| |DPAA1 FMAN ucode | 256KB | 0x00900000 | 0x04800 | |-----------------------------|---------|--------------|-----------------| |QE/uQE firmware | 256KB | 0x00940000 | 0x04A00 | |-----------------------------|---------|--------------|-----------------| |Ethernet PHY firmware | 256KB | 0x00980000 | 0x04C00 | |-----------------------------|---------|--------------|-----------------| |Scripts | 256KB | 0x009C0000 | 0x04E00 | |-----------------------------|---------|--------------|-----------------| |DPAA2 MC firmware | 3MB | 0x00A00000 | 0x05000 | |-----------------------------|---------|--------------|-----------------| |DPAA2 DPL | 1MB | 0x00D00000 | 0x06800 | |-----------------------------|---------|--------------|-----------------| |DPAA2 DPC | 1MB | 0x00E00000 | 0x07000 | |-----------------------------|---------|--------------|-----------------| |Device tree(needed by uefi) | 1MB | 0x00F00000 | 0x07800 | |-------------+---------------|---------|--------------|-----------------| |Kernel | | 16MB | 0x01000000 | 0x08000 | |-------------| kernel.itb |---------|--------------|-----------------| |Ramdisk rfs | |32MB | 0x01100000 | 0x08800 | +-------------+---------------+---------|--------------|-----------------+ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: rename subtargets and update makefile filesYangbo Lu2017-10-079-37/+28
| | | | | | | | Rename subtargets 32b/64b with armv8_32b/armv8_64b which are more proper, and update makefile files. There also will be other subtargets added in the future, like armv7. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: take over maintainershipYangbo Lu2017-10-071-1/+1
| | | | Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* kernel: fix receiver overflow for 82574L under loadPhilip Prindeville2017-10-071-0/+327
| | | | | | | | | | Under heavy load it's possible to overrun the 82574L. When this happens, Other Interrupt happens and that's erroneously interpreted as a Link Status Change. http://patchwork.ozlabs.org/patch/792260/ Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* ar71xx: add rssileds to WA850RE v1 imageMathias Kresin2017-10-071-0/+1
| | | | | | | | | | | | A default rssileds config exists for the TP-Link WA850RE v1 but the rssiled package is not included by default. The compressed 17.01.3 image size increases by 3302 bytes which should be tolerable even for a 4MB flash board. Fixes: FS#1043 Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: drop phy id specfic compatible stringMathias Kresin2017-10-072-3/+3
| | | | | | | | | | | | With kernel commit 7630ea4bda18 ("Documentation: net: phy: improve explanation when to specify the PHY ID") the purpose of using phy id specific compatibles was clarified. Remove the phy id specific compatibles since they are meant to be used if the phy reports an incorrect or no phy id at all. Reported-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: remove gen_nand compatible stringMathias Kresin2017-10-077-7/+7
| | | | | | | | | | | | | The generic nand driver fails to load with: gen_nand 14000000.nand-parts: platform_nand_data is missing gen_nand: probe of 14000000.nand-parts failed with error -22 and the xway-nand driver is used afterwards. Drop the gen_nand compatible to get rid of the error message. Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: update 4.9 to 4.9.53Stijn Tintel2017-10-071-1/+1
| | | | | | | | | | | | | Refresh patches. Compile-tested on brcm2708/bcm2708, octeon and x86/64. Runtime-tested on brcm2708/bcm2708, octeon and x86/64. Fixes the following CVEs: - CVE-2017-1000252 - CVE-2017-12153 - CVE-2017-12154 Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* ar71xx: update LED definitions for embedded wireless dorinCatrinel Catrinescu2017-10-071-14/+2
| | | | | | | | Evaluation board 2.2 uses a different status LED pin The other removed LEDs were never present Signed-off-by: Catrinel Catrinescu <cc@80211.de> Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: ew-dorin target moved from legacy to genericCatrinel Catrinescu2017-10-073-23/+20
| | | | | | Embedded Wireless Dorin platform moved from legacy to generic Signed-off-by: Catrinel Catrinescu <cc@80211.de>
* ar71xx: rework chipidea usb controller patchFelix Fietkau2017-10-071-13/+44
| | | | | | | | Handle AR9344 as well. Disable the EHCI platform device when device mode is active, to avoid resource conflicts. Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
* build: add mktplinkfw2 hardcoded values to makefileThibaut VARÈNE2017-10-063-18/+44
| | | | | | | | | | | This patch adds all the board-specific values currently hardcoded in mktplinkfw2.c back to the respective device declarations in the makefiles. The rationale is to avoid modifying the source code every time a new board or board variant is added. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* x86: fix reboot on apu2 boardsFelix Fietkau2017-10-051-0/+19
| | | | | | | PC Engines apu2 needs to use the PCI reboot method, otherwise it can hang. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: keep Archer C20 Power LED On during bootSergey Ryazanov2017-10-041-0/+1
| | | | | | | | Keep Archer C20 Power LED in the same state as it was configured by bootloader (keep it hightlighed) to avoid unexpectable LED turning off during kernel boot. Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* lantiq: ase: enable USB and wirelessMathias Kresin2017-10-041-2/+4
| | | | | | | | | | Add the missing USB related kernel config options to target config. Enable wireless as well, wireless is supported via USB. Fixes compile/packaging errors with the libertas wireless kernel module. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: ase: fix SPI supportMathias Kresin2017-10-043-1/+2
| | | | | | | | | | Do not disable SPI in the subtarget, otherwise the SPI driver can not be used. Disable SPI by default and enable it in the board specific device tree source file. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: select PCI support in subtargetsMathias Kresin2017-10-044-8/+23
| | | | | | | | | | | | | | | | AmazonSE and Falcon do not have support for PCI and it can't be unselected in the subtarget kernel config. This way the enabled PCI support is inherit from the higher level config to the subtarget. If CONFIG_PCI is selected, PCI_SUPPORT will be autoselected as well and all packages depending on this config symbol will be build and at least some of them fail due to missing pci functions. The issue can be observed if all kmods and all non-shared packages are build. Fix the issue by enabling PCI support only in subtargets with PCI support. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: ase: cleanup kernel configMathias Kresin2017-10-041-2/+0
| | | | | | | | The subtarget kernel config options CONFIG_CC_OPTIMIZE_FOR_SIZE and CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK are already set by the target or global kernel config. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: xway: cleanup kernel configMathias Kresin2017-10-041-29/+0
| | | | | | | | | | CONFIG_SPI_LANTIQ was replaced by CONFIG_SPI_LANTIQ_SSC with the switch to the upstreamed driver. All other removed subtarget kernel config options are already set by the target specific or global kernel config. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: xrx200: cleanup kernel configMathias Kresin2017-10-041-3/+8
| | | | | | | | | | | CONFIG_MTSCHED & CONFIG_PERFCTRS were never defined in the kernel. CONFIG_LANTIQ_PHY was replaced by CONFIG_INTEL_XWAY_PHY with the switch to the upstreamed driver. Add autoselected dependecies to the kernel config. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: xrx200: fix sorting of kernel configMathias Kresin2017-10-041-6/+6
| | | | | | | Use the kconfig script to sort the kernel config. It makes further changes more obvious. Signed-off-by: Mathias Kresin <dev@kresin.me>
* treewide: drop obsolete kernel config optionsMathias Kresin2017-10-042-4/+0
| | | | | | | | | | | CONFIG_GPIO_DEVRES was removed with kernel commit f9c22ec6c1c5 ("gpio: Remove GPIO_DEVRES option") during kernel 4.9 development. CONFIG_HAVE_BPF_JIT was removed with kernel commit 6077776b5908 ("bpf: split HAVE_BPF_JIT into cBPF and eBPF variant") during kernel 4.7 development. Signed-off-by: Mathias Kresin <dev@kresin.me>
* sunxi: add Orange Pi R1 supportHauke Mehrtens2017-10-012-0/+206
| | | | | | | | | | | | | | | The following features are working and tested: * both Ethernet ports * MMC * LED The following features are not working: * Wifi (There is a crappy driver we could port) * SPI flash (I haven't looked into this) I haven't tried out the rest. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: owl-loader: fix compile warningHauke Mehrtens2017-10-011-1/+1
| | | | | | | | | | | | | check if the config option CONFIG_LANTIQ is defined. This fixes the following warning: CC [M] drivers/misc/owl-loader.o drivers/misc/owl-loader.c: In function 'ath9k_pci_fixup': drivers/misc/owl-loader.c:92:5: warning: "CONFIG_LANTIQ" is not defined [-Wundef] #if CONFIG_LANTIQ ^ Fixes: e9401a2335cc ("kernel: owl-loader for delayed Atheros ath9k fixup") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* sunxi: H3: add device tree changes for H3 EthernetHauke Mehrtens2017-10-015-0/+229
| | | | | | | This adds the device tree changes needed to make the GMAC stmmac driver working for the Allwinner H3 SoCs. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* sunxi: A64: add device tree changes for A64 EthernetHauke Mehrtens2017-10-016-0/+241
| | | | | | | This adds the device tree changes needed to make the GMAC stmmac driver working for the Allwinner A64 SoCs. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* sunxi: backport the stmmac driver from kernel 4.13Hauke Mehrtens2017-10-017-0/+13682
| | | | | | | | | | | This adds support for the GMAC which is use in the A64 and other Allwinner chips by backporting the changes from the kernel versions 4.13. Some commits are not backported which are adding support for newly introduced APIs which are not available in kernel 4.9. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: update 4.4 to 4.4.89Kevin Darbyshire-Bryant2017-09-293-19/+19
| | | | | | | Refresh patches. Compile & run tested on ar71xx Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ar71xx: unify CONFIG_CMDLINEFelix Fietkau2017-09-284-4/+1
| | | | | | | Booting from jffs2 directly is no longer supported, use rootfstype=squashfs consistently for all subtargets Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: reduce napi_weight in the ethernet driver.Rosen Penev2017-09-281-1/+1
| | | | | | Currently dmsg a weight of 128 which is above the kernel limit of 64. Silence the warning. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ramips: mt7621: add MT29F2G08ABAE NAND flash supportRoman Yeryomin2017-09-281-1/+2
| | | | Signed-off-by: Roman Yeryomin <roman@advem.lv>
* ramips: improve Xiaomi Mi Router 3G supportKevin Darbyshire-Bryant2017-09-284-26/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit improves support for the Xiaomi Mi Router 3G originally added in commit 6e283cdc0da25928f8148805ebef7f8f2b769ee8 Improvements: - Remove software watchdog as hardware watchdog now working as per commit 3fbf3ab44f5cebb22e30a4c8681b13341feed6a6 for all mt7621 devices. - Reset button polarity corrected - length of press determines reboot (short press) vs. reset to defaults (long press) behaviour. - Enable GPIO amber switch port LEDs on board rear - lit indicates 1Gbit link and blink on activity. Green LEDs driven directly by switch indicating any link speed and tx activity. - USB port power on/off GPIO exposed as 'usbpower' - Add access to uboot environment settings for checking/setting uboot boot order preference from user space. Changes: - Front LED indicator is physically made of independent Yellow/Amber, Red & Blue LEDs combined via a plastic 'lightpipe' to a front panel indicator, hence the colour behaviour is similar to an RGB LED. RGB LEDs are not supported at this time because they produce colour results that do not then match colour labels, e.g. enabling 'mir3g:red' and 'mir3g:blue' would result in a purple indicator and we have no such label for purple. The yellow, red & blue LEDs have been split out as individual yellow, red & blue status LEDs, with yellow being the default status LED as before and with red's WAN and blue's USB default associations removed. - Swapped order of vlan interfaces (eth0.1 & eth0.2) to match stock vlan layout. eth0.1 is LAN, eth0.2 is WAN - Add 'lwlll' vlan layout to mt7530 switch driver to prevent packet leakage between kernel switch init and uci swconfig uboot behaviour & system 'recovery' uboot expects to find bootable kernels at nand addresses 0x200000 & 0x600000 known by uboot as "system 1" and "system 2" respectively. uboot chooses which system to hand control to based on 3 environment variables: flag_last_success, flag_try_sys1_failed & flag_try_sys2_failed last_success represents a preference for a particular system and is set to 0 for system 1, set to 1 for system 2. last_success is considered *if* and only if both try_sys'n'_failed flags are 0 (ie. unset) If *either* failed flags are set then uboot will attempt to hand control to the non failed system. If both failed flags are set then uboot will check the uImage CRC of system 1 and hand control to it if ok. If the uImage CRC of system is not ok, uboot will hand control to system 2 irrespective of system 2's uImage CRC. NOTE: uboot only ever sets failed flags, it *never* clears them. uboot sets a system's failed flag if that system's was selected for boot but the uImage CRC is incorrect. Fortunately with serial console access, uboot provides the ability to boot an initramfs image transferred via tftp, similarly an image may be flashed to nand however it will flash to *both* kernels so a backup of stock kernel image is suggested. Note that the suggested install procedure below set's system 1's failed flag (stock) thus uboot ignores the last_success preference and boots LEDE located in system 2. Considerable thought has gone into whether LEDE should replace both kernels, only one (and which one) etc. LEDE kernels do not include a minimal rootfs and thus unlike the stock kernel cannot include a method of controlling uboot environment variables in the event of rootfs mount failure. Similarly uboot fails to provide an external mechanism for indicating boot system failure. Installation - from stock. Installation through telnet/ssh: - copy lede-ramips-mt7621-mir3g-squashfs-kernel1.bin and lede-ramips-mt7621-mir3g-squashfs-rootfs0.bin to usb disk or wget it from LEDE download site to /tmp - switch to /extdisks/sda1/ (if copied to USB drive) or to /tmp if wgetted from LEDE download site - run: mtd write lede-ramips-mt7621-mir3g-squashfs-kernel1.bin kernel1 - run: mtd write lede-ramips-mt7621-mir3g-squashfs-rootfs0.bin rootfs0 - run: nvram set flag_try_sys1_failed=1 - run: nvram commit - run: reboot Recovery - to stock. Assuming you used the above installation instructions you will have a stock kernel image in system 1. If it can be booted then it may be used to perform a stock firmware recovery, thus erasing LEDE completely. From a 'working' LEDE state (even failsafe) Failsafe only: - run: mount_root - run: sh /etc/uci-defaults/30_uboot-envtools Then do the steps for 'All' All: - run: fw_setenv flag_try_sys2_failed 1 - run: reboot The board will reboot into system 1 (stock basic kernel) and wait with system red light slowly blinking for a FAT formatted usb stick with a recovery image to be inserted. Press and hold the reset button for around 1 second. Status LED will turn yellow during recovery and blue when recovery complete. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ramips: RT5350F-OLINUXINO: enable ttyS1Zoltan Gyarmati2017-09-281-1/+16
| | | | | | | | | The RT5350F's second UART pins are available on the base module and on the EVB as well, so enable it in the device tree. In order to keep the origian serial port numbering (ttyS0 is the serial console), aliases added for the UART devices. Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
* ramips: RT5350F-OLINUXINO: enable i2cZoltan Gyarmati2017-09-281-0/+4
| | | | | | | The RT5350F i2c pins is available on the base module and on the EVB as well, so enable it in the dts. Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
* ramips: RT5350F-OLINUXINO: invert WiFi LED polarityZoltan Gyarmati2017-09-281-0/+1
| | | | | | | The polarity of WLAN_ACT LED on the base module needs to inverted in order to be 'on' when the WiFi interface is active Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
* ramips: introduce RT5350F-OLINUXINO.dtsiZoltan Gyarmati2017-09-283-140/+76
| | | | | | | | | | The RT5350F-OLINUXINO(-EVB).dts files' content are nearly the same, so to avoid code duplication this patch creates RT5350F-OLINUXINO.dtsi file which covers the base board's features. The corresponding RT5350F-OLINUXINO.dts just includes the new .dtsi and the RT5350F-OLINUXINO-EVB.dts adds the EVB specific GPIO config. Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
* ramips: add 'lwlll' portmap to mt7530 switchKevin Darbyshire-Bryant2017-09-281-1/+7
| | | | | | | | | | | The Xiaomi Mi Router 3G uses this deranged vlan portmap. Add support so that packets are not leaked across all switch ports when reset. Fix a whitespace nit while we're here. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> [fix wrong pvids order] Signed-off-by: Mathias Kresin <dev@kresin.me>