aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/patches-3.10
Commit message (Collapse)AuthorAgeFilesLines
* brcm63xx: replace nvram_buf with a properly initialized arrayJonas Gorski2014-07-281-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use an empty nvram_header to tell wl that there is no nvram buf. wl else might try to allocate huge amount of memory because the bcm63xx's nvram does not match the expected structure and contains random values. Fixes the following warning on load of wl: [ 9.152000] WARNING: at mm/slab_common.c:377 kmalloc_slab+0x4c/0xc0() [ 9.160000] Modules linked in: wl(P+) wl_glue ipv6 gpio_keys_polled input_polldev button_hotplug input_core [ 9.168000] CPU: 0 PID: 366 Comm: kmodloader Tainted: P 3.10.49 #1 [ 9.176000] Stack : 00000000 00000000 00000000 00000000 8034b77a 00000042 81ac9af0 c02e0000 [ 9.176000] 8028bf70 802df31b 0000016e 8034af28 81ac9af0 c02e0000 c02e0000 81b39810 [ 9.176000] 0000002d 8002c9d4 00000003 8002a3c8 802937a0 c02e0000 8028e528 81ab398c [ 9.176000] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 9.176000] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 81ab3918 [ 9.176000] ... [ 9.212000] Call Trace: [ 9.216000] [<800224b8>] show_stack+0x48/0x70 [ 9.220000] [<8002a538>] warn_slowpath_common+0x78/0xa8 [ 9.224000] [<8002a5f0>] warn_slowpath_null+0x18/0x24 [ 9.228000] [<8008145c>] kmalloc_slab+0x4c/0xc0 [ 9.236000] [<80097258>] __kmalloc+0x20/0x10c [ 9.240000] [<80e23b90>] osl_malloc+0x24/0x6c [wl] [ 9.244000] [<80e15288>] nvram_init+0x54/0x164 [wl] [ 9.252000] [<80e08668>] si_pci_fixcfg+0x60c/0x9e8 [wl] [ 9.256000] [ 9.260000] ---[ end trace b5c4dbb046cf3c83 ]--- Reported-by: Álvaro Fernández Rojas <noltari@gmail.com> Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41861 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: Add support for ADB P.DG A4001NJonas Gorski2014-07-271-0/+99
| | | | | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41852 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: Add support for Huawei HG520vJonas Gorski2014-07-271-0/+60
| | | | | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41851 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: Add support for ZyXEL P870HW-51a v2Jonas Gorski2014-07-271-0/+100
| | | | | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41850 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: Add support for Comtrend VR-3025unJonas Gorski2014-07-271-0/+109
| | | | | | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Signed-off-by: José Vázquez Fernández <ppvazquezfer@gmail.com> Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41848 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: Add support for Comtrend VR-3025uJonas Gorski2014-07-271-0/+109
| | | | | | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Signed-off-by: José Vázquez Fernández <ppvazquezfer@gmail.com> Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41847 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: update irq affinity code to latest versionJonas Gorski2014-07-1210-64/+85
| | | | | | | | Reduces code size a bit and sets affinity to boot cpu by default. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41591 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: Fix HW553 supportJonas Gorski2014-07-1232-61/+54
| | | | | | | | | | | | | | | - adsl and lan leds are swapped. - internetkey is labeled as hspa. - enable status led and reset button for failsafe. - use new leds script. - fix switch configuration. - remove enet0 from board_info. - add profile. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41588 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: Use model name for Comtrend AR-5381uJonas Gorski2014-07-122-6/+6
| | | | | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41587 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: Use model name for Comtrend AR-5387unJonas Gorski2014-07-122-9/+9
| | | | | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41586 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: Use model name for ADB P.DG A4001N1Jonas Gorski2014-07-124-17/+17
| | | | | | | | | This patch also makes use of the new leds script. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41585 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: fixup patches borked by allowing too much fuzzJonas Gorski2014-07-0850-139/+128
| | | | | | | | | | Move defines and board_info structs back to their proper locations so (de-)selecting SOC support won't break the build. Reported-by: Álvaro Fernández Rojas <noltari@gmail.com> Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41550 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: fix Livebox 1 supportJonas Gorski2014-06-302-8/+11
| | | | | | | | | | | | | | | | | The Livebox 1 support is currently broken. Fixed with this patch Fixes: - Redboot partitioning broken: fixed - Replaced custom ephy reset with platform code - USB code breaks the building process: fixed - Led colors - Removed unneded EHCI code since bcm6348 only has OHCI Signed-off-by: Daniel Gonzalez <dgcbueu@gmail.com> [jogo: drop unneded parts since merge, fixup to apply to current head] Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41424 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: 3.10: backport multi-board supportJonas Gorski2014-06-3075-631/+1288
| | | | | | | | There have been no reported regressions, so backport it to 3.10. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41422 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: Add support for Comtrend WAP-5813nJonas Gorski2014-06-302-3/+121
| | | | | | | | | | This adds support for Comtrend WAP-5813n. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> [jogo: refresh patches] Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41421 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: CPVA502+ board fixesJonas Gorski2014-06-3028-57/+53
| | | | | | | | | | | | | | | Some fixes for Telsey CPVA502+ bcm6348 routers: - reset the external PHY (eth1) with proper platform code, not using a led definiton - eth1 is an external phy, not a switch, deleted forced link speed - fixed led color Patch made for 3.14 kernel patches. Signed-off-by: Daniel Gonzalez <dgcbueu@gmail.com> [jogo: also fix 3.14, refresh patches] Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41420 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: update variant detection patches and fix VARID shiftJonas Gorski2014-06-219-15/+23
| | | | | | | | | The variant id field shift was wrong, causing the variant detection to fail. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41295 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: fix up borked patchJonas Gorski2014-06-211-1/+15
| | | | | | Fix up patch borked by quilt fuzzy application of patches. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41294 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: hack around jffs2 corruption with SMPJonas Gorski2014-04-061-0/+26
| | | | | | | | | | | | mempy_fromio seems to be randomly failing when the destination is unaligned; work around it by forcing the name to be aligned in memory. Should fix jffs2 and SMP for now, but needs to be some additional looking into as it does not fix the source. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40396 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: sync mips counters during bringup of cpusJonas Gorski2014-04-051-0/+27
| | | | | | | | | Fixes gettimeofday returning different values depending on which cpu it is called. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40387 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update 3.10 to 3.10.34Gabor Juhos2014-03-273-171/+3
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40291 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update 3.10 to 3.10.32Gabor Juhos2014-02-231-26/+0
| | | | | | Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39707 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: fix RG100A/DB120 usb port numberJonas Gorski2014-02-2251-75/+85
| | | | | | | | Set usbh ports to 2 to fix #15007. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39681 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: fix number of usb ports for HW556 variantsJonas Gorski2014-02-2211-18/+21
| | | | | | | | Don't only fix up the fallback board, but also all three variants. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39680 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: add initial support for BCM963268BU_P300 reference boardJonas Gorski2014-02-222-2/+144
| | | | | | | | | Only netboot tested, so no images or now. GbE ports are only working in FE mode, and leds do not work. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39679 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: add VW6339GU supportJonas Gorski2014-02-222-2/+121
| | | | | | | | | Completely untested except for booting from network; wan port only works in 10/HD, lan1 only in 100/FD. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39678 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: fix number of switch ports for BCM63168/63268Jonas Gorski2014-02-222-6/+10
| | | | | | | | | | | BCM63168 has 6 ports (3 FE PHY, 1 GE PHY, two RGMII) and BCM63268 has two additional RGMII ports, making it 8. Fix this by checking the chip variant and applying an appropriate limit. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39677 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: F@ST2504n board supportJonas Gorski2014-02-226-7/+120
| | | | | | | | Signed-off-by: Max Staudt <openwrt.max@enpas.org> Patchwork: http://patchwork.openwrt.org/patch/4729/ Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39675 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: add support for Asmax AR 1004g routerJonas Gorski2014-02-222-2/+72
| | | | | | | | | | Support for Asmax AR 1004g router Signed-off-by: Adrian Feliks <mexit@o2.pl> Patchwork: http://patchwork.openwrt.org/patch/4464/ Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39674 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: Add kernel support for Sagemcom F@ST2704V2 ADSL routerJonas Gorski2014-02-229-14/+159
| | | | | | | | | | | | | This adds kernel support support for Sagemcom F@st 2704 wireless ADSL router. It's a BCM6328-based 802.11n wireless router with USB port and ADSL2+ modem equipped with 64 MiB RAM and 8 MiB flash. Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com> Patchwork: http://patchwork.openwrt.org/patch/4266/ Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39671 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: fix warning in Redboot codeFlorian Fainelli2014-01-271-1/+1
| | | | | | Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39404 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: add support for BCM963269BHR boardFlorian Fainelli2014-01-212-2/+90
| | | | | | | | | Add kernel support for the BCM963269BHR board, USB and Ethernet switch, LEDs and buttons are working. Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39363 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: improve BCM63268 supportFlorian Fainelli2014-01-212-10/+65
| | | | | | | | | Allow using the HSSPI controller since it works just fine, as well as the integrated switch core, since that one works too. Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39362 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: fix typo breaking build in r39325Jonas Gorski2014-01-191-1/+1
| | | | | | Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39326 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: set usb host port number for some devicesJonas Gorski2014-01-1938-70/+83
| | | | | | | | | | | | Update a few devices with their actual port numbers, especially those with two ports. Should allow properly using the second port on the Neufboxen and HW553 and HW556. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39325 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: allow setting the number of usb host ports for boardsJonas Gorski2014-01-197-8/+180
| | | | | | | | | | Allow setting the number of available usb host ports for boards with additional sanity checks to allow using the second port on devices where it is available. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39324 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: add USB support for BCM63268Jonas Gorski2014-01-195-5/+193
| | | | | | | | Add and enable USB support for the BCM63268 family of SoCs. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39323 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: BCM6318 needs to select _HAS_OHCI/EHCI tooJonas Gorski2014-01-191-0/+11
| | | | | | | | | USB will fail to work if compiling with BCM6318 only if BCM63XX_HAS_EHCI and BCM63XX_HAS_OHCI are not selected. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39322 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: prevent usb clock state inconsistency on BCM6318Jonas Gorski2014-01-191-29/+35
| | | | | | | | | | | | | | Return the same clock for usbh and usbd on BCM6318 to prevent the clock getting disabled despite being supposed to be enabled, e.g. by the following sequence: clk_enable(usbh); <- usbh->usage = 1, enabled clk_enable(usbd); <- usbd->usage = 1, enabled (no effect) clk_disable(usbd); <- usbd->usage = 0, -> disabled! Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39321 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: do not add twice the same field to boardFlorian Fainelli2014-01-1648-94/+86
| | | | | | | | | Changeset r39302 updated a board section and added twice .has_ehci0, this is not necessary, so fix it. Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39304 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: add USB support to BCM6318Florian Fainelli2014-01-1550-88/+209
| | | | | | | | | | BCM6318 has a special initialization sequence which involves touching PLL control registers in the USBH_PRIV register space, as well as toggling a bit the Simulation control register. Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39302 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: fix BCM96318MVWG LEDsFlorian Fainelli2014-01-1518-26/+25
| | | | | | | | Power LED is not active low, and ppp-fail is red, not green. Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39294 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: 96368MVWG supports USB gadget, enable itFlorian Fainelli2014-01-1418-25/+33
| | | | | | | | | Enable the use of the USB gadget device at the board level so we can use bcm63xx_udc on this board. Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39292 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: replace gadget driver build fix with upstream submissionFlorian Fainelli2014-01-141-4/+45
| | | | | | | | | Also fixing a build warning due to a misplaced parenthesis in the previous submission. Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39291 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: add support for the BCM96318REF_P300 boardFlorian Fainelli2014-01-141-0/+104
| | | | | | | | | Very similar to the BCM96318REF board except for the name and the SDRAM/DDR configuration which is totally transparent for us. Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39286 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: add basic support for the BCM96318REF boardFlorian Fainelli2014-01-142-2/+107
| | | | | | | | | | | Add basic support for the BCM96318REF board which is comprised of: - HS-SPI flash support - Ethernet switch support - USB slave device support Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39283 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: improve BCM6318 supportFlorian Fainelli2014-01-143-1/+131
| | | | | | | | | | | | | Provide clock toggling for the USB host and slave controller as well as for the Ethernet Switch. The bcm63xx_enetsw driver is changed not to use request_mem_region() as the Roboswitch register overlaps with the Roboswitch IUDMA channels, hence making the driver return -EBUSY. A future fix might be to use variable size RSET_ENETSW sizes depending on the chip we are targetting. Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39282 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: fix USB gadget build failure after 6345 EthernetFlorian Fainelli2014-01-141-0/+127
| | | | | | | | | | While adding support for BCM6345 Ethernet, some changes in the macros ENETDMA{C,S} where introduced which now make the bcm63xx USB gadget driver fail to build. Fix this. Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39279 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: allow HSSPI registration on 6318Florian Fainelli2014-01-141-0/+11
| | | | | | | | | A missing condition check in dev-hsspi.c prevented the controller from being registered on 6318 where it is fully functional. Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39278 3c298f89-4303-0410-b956-a3cf2f4a3e73
* brcm63xx: fix build failure on varidFlorian Fainelli2014-01-142-2/+2
| | | | | | | | | varid might both unused and unitialized when building for e.g: bcm6318, fix these two warnings turned into errors. Signed-off-by: Florian Fainelli <florian@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39277 3c298f89-4303-0410-b956-a3cf2f4a3e73