Commit graph

1843 commits

Author SHA1 Message Date
Felix Fietkau
ddf8858cea kernel: bridge, multicast-to-unicast: assign src after pskb_may_pull()
A call to pskb_may_pull() might reallocate skb->data. Therefore we
should only assign the src-pointer after any potential reallocations.

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46721
2015-08-25 07:25:20 +00:00
Felix Fietkau
ea9963bb21 Revert "kernel: disable multicast-to-unicast translation for ipv6 neighbor solicitation (#17625)"
This reverts commit a080e8e1943156168913d0353a2e99d1151102aa.

It did not fix the problem but just hid some symptom. The real issue was
that IGMP/MLD report suppression was not considered for the
multicast-to-unicast feature. A recent netifd which isolates IGMP/MLD
reports between STAs by utilizing AP-isolation and bridge-hairpinning
should have fixed this.

It is perfectly fine to apply multicast-to-unicast to IPv6 Neighbor
Solicitations, too (once that feature is configured correctly).

Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46720
2015-08-25 07:25:10 +00:00
Jonas Gorski
2d53e22357 kernel: remove already upstream applied patch
Remove 131-MIPS-export-get_c0_perfcount_int.patch which was already applied
in 4.1.6. This fixes the following build error:

arch/mips/ath79/setup.c:217:77: error: redefinition of '__kstrtab_get_c0_perfcount_int'
arch/mips/ath79/setup.c:211:77: note: previous definition of '__kstrtab_get_c0_perfcount_int' was here
arch/mips/ath79/setup.c:217:350: error: redefinition of '__ksymtab_get_c0_perfcount_int'
arch/mips/ath79/setup.c:211:350: note: previous definition of '__ksymtab_get_c0_perfcount_int' was here
scripts/Makefile.build:258: recipe for target 'arch/mips/ath79/setup.o' failed

Reported-by: swalker
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46715
2015-08-23 21:33:57 +00:00
Jonas Gorski
2d379e796f kernel: update 4.1 to 4.1.6
Changelog:
* https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.6

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46713
2015-08-23 18:06:11 +00:00
Jonas Gorski
2190f090bb mvebu: kirkwood: fix ehci-orion probe if generic-phy isn't enabled
Properly treat -ENOSYS as no PHY, else ehci-orion won't work without
generic phy support.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46711
2015-08-23 13:35:03 +00:00
Imre Kaloz
9cca6c5ad9 Previously, all VLANs (port-based or 802.1q) were sharing a single database in the ATU. This created problems in the case of a system where two ports/devices share a MAC address (e.g. Linksys WRT1900AC eth0/eth1).
This also clears any bootloader-set FDB defaults. This had
caused issues creating port-based VLANs when mappings
overlapped previous VLANs. Packets destined to a port
not in the default port group flooded all ports.

Tested on a 88E6171 (Linksys EA4500) and 88E6172 ('1900AC)

Signed-off-by: Claudio Leite <leitec@staticky.com>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 46699
2015-08-21 08:09:52 +00:00
Zoltan Herpai
f5fcb0b4b8 kernel: add missing symbols for 4.1
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>

SVN-Revision: 46696
2015-08-20 23:19:42 +00:00
John Crispin
6d461ddbb2 generic: crypto: remove IRQF_DISABLED
no-op since 2.6.35
    removed in Kernel 4.1
    see https://lwn.net/Articles/380931/

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>

SVN-Revision: 46671
2015-08-17 11:26:02 +00:00
John Crispin
6856535e29 kernel: move linux, part-probe dt parsing in generic code
The "linux,part-probe" dts parsing is a pretty neat generic feature.
It has been posted to kernel.org and could easily be reused by all
targets.

This change moves the patch to the 3.18 and 4.1 generic folders, and
makes the feature available to all platforms who may want to use it.

Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46654
2015-08-17 06:17:37 +00:00
Hauke Mehrtens
b1bd85c40e kernel: yaffs2: update to version from 2015-06-02
In addition to the update this also fixes compile problems with kernel 4.1.

This closes #20323.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46609
2015-08-15 17:16:03 +00:00
Jonas Gorski
6be2305da8 kernel: update 4.1 to 4.1.5
Changelog:
 * https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.5

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46598
2015-08-14 13:06:33 +00:00
Zoltan Herpai
2013a7e0e0 kernel: add missing symbols for 4.1
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>

SVN-Revision: 46573
2015-08-09 15:12:07 +00:00
Hauke Mehrtens
0b8643af4f kernel: update 3.18 to 3.18.20
Changelog:
 * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.20

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46570
2015-08-09 11:09:52 +00:00
Jonas Gorski
caa73eb95c kernel: update 4.1 to 4.1.4
Changelog:
 * https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.4

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[jogo: fix brcm2708 patches, refresh target patches]
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46560
2015-08-05 13:55:14 +00:00
Zoltan Herpai
2facc7fb92 kernel: add missing symbol for 4.1
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>

SVN-Revision: 46539
2015-07-31 21:49:37 +00:00
Zoltan Herpai
18190373b0 kernel: add a few missing symbols for 4.1
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>

SVN-Revision: 46529
2015-07-31 18:14:59 +00:00
Hauke Mehrtens
2e3af78447 kernel: add missing CONFIG_ARM_CCI400_PMU config option
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46503
2015-07-26 15:52:34 +00:00
Hauke Mehrtens
ab63719eb2 kernel: add CONFIG_REGMAP_MMIO config option
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46501
2015-07-26 15:51:59 +00:00
Hauke Mehrtens
3dfacccf6f kernel: cdc_ncm: Add support for moving NDP to end of NCM frame
This patch was missing for kernel 4.0 and 4.1 in r46464. I also
replaced the version in OpenWrt with the version which went upstream
into the Linux mainline kernel.

This closes #20193 and #20192

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46493
2015-07-25 13:41:21 +00:00
Jonas Gorski
71f2d6f865 kmod-regmap: make regmap-mmio user selectable
REGMAP_MMIO is a hidden symbol, so it cannot be directly selected. If nothing
selects it, it will fail the build with:

ERROR: module '/store/buildbot/slave/slave/rb532/build/build_dir/target-mipsel_mips32_musl-1.1.10/linux-rb532/linux-3.18.19/drivers/base/regmap/regmap-mmio.ko' is missing.
make[2]: *** [/store/buildbot/slave/slave/rb532/build/bin/rb532/packages/base/kmod-regmap_3.18.19-1_rb532.ipk] Error 1

Fix this by adding a description to allow selecting it manually.

Fixes: r46451 ("kmod-regmap: enable MMIO support")
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46485
2015-07-25 09:55:32 +00:00
Felix Fietkau
bc0f9ad8ca kernel: fix oprofile performance counter interrupt handling on mips
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46482
2015-07-24 15:36:02 +00:00
John Crispin
f1712c606c generic: cdc_ncm: Add support for moving NDP to end of NCM frame
NCM specs are not actually mandating a specific position in the frame for
the NDP (Network Datagram Pointer). However, some Huawei devices will
ignore our aggregates if it is not placed after the datagrams it points
to. Add support for doing just this, in a per-device configurable way.
While at it, update NCM subdrivers, disabling this functionality in all of
them, except in huawei_cdc_ncm where it is enabled instead.
We aren't making any distinction between different Huawei NCM devices,
based on what the vendor driver does. Standard NCM devices are left
unaffected: if they are compliant, they should be always usable, still
stay on the safe side.

This change has been tested and working with a Huawei E3131 device (which
works regardless of NDP position) and an E3372 device (which mandates NDP
to be after indexed datagrams).

Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
Signed-off-by: Matti Laakso <malaakso@elisanet.fi>

SVN-Revision: 46464
2015-07-24 09:10:47 +00:00
John Crispin
23cb02286f generic: Add missing symbols when tracing is enabled
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 46463
2015-07-24 09:10:41 +00:00
John Crispin
d162dbb664 generic: add missing symbol
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 46462
2015-07-24 09:10:19 +00:00
Jonas Gorski
02198322b9 kernel: update 4.0 to 4.0.9
Changelog:
 * https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.0.9

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46440
2015-07-22 12:51:04 +00:00
Felix Fietkau
54f5f6fa6c kernel: update to linux 4.1.3
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46437
2015-07-22 12:45:07 +00:00
Felix Fietkau
3b17e2ab68 generic: add more missing linux 4.1 symbols
Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 46435
2015-07-22 12:44:55 +00:00
Felix Fietkau
d3a31435e0 kernel: add missing config symbols for 4.1
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46428
2015-07-19 17:58:53 +00:00
Felix Fietkau
473ddd592c kernel: fix sched_getaffinity on MIPS SMP systems (fixes enabling RPS/XPS in netifd with musl)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46420
2015-07-18 22:49:39 +00:00
John Crispin
bc5009472d generic: add missing linux 4.1 symbols
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 46400
2015-07-17 12:48:51 +00:00
Felix Fietkau
b04b1ca933 ar8216: add swconfig attributes for ARL table flushing
Add swconfig attributes for flushing the ARL table globally or per port.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

SVN-Revision: 46382
2015-07-15 08:17:42 +00:00
Felix Fietkau
33b72b8e0f ar8216: adjust ATU flushing in case of link changes
If a link goes down, don't flush the complete ARL table.
Only flush the entries for the respective port.
Don't touch ARL table if a link goes up.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

SVN-Revision: 46381
2015-07-15 08:17:36 +00:00
Felix Fietkau
00e599b0b7 ar8216: add ARL table flushing per port
Adds functions for flushing ARL table entries per port.

Successfully tested on AR8327. Implementation for AR8216/AR8236/AR8316
is based on the AR8236 datasheet and assumes that the three chips
share a common ATU register layout.
Compile-tested only for AR8216/AR8236/AR8316.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

SVN-Revision: 46380
2015-07-15 08:17:28 +00:00
Felix Fietkau
2666403c3a ar8216: add reading ARL table for AR8216/AR8236/AR8316
Adds the chip-specific part of reading ARL table for AR8216/AR8236/AR8316.

It's based on the AR8236 datasheet and compile-tested only as I couldn't
find datasheets for AR8216/AR8316 and don't own devices with these chips.

The existing ar8216_atu_flush implementation was used for all three
chip types, therefore I guess they share a common ATU register layout.

More testing would be appreciated.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

SVN-Revision: 46379
2015-07-15 08:17:23 +00:00
John Crispin
096b3759a9 build: Prevent more gzip timestamps
To improve reproducibility, prevent the inclusion of timestamps
in the gzip header.

Signed-off-by: Reiner Herrmann <reiner@reiner-h.de>

SVN-Revision: 46361
2015-07-14 09:57:45 +00:00
John Crispin
1b73796895 kernel: fix build with CONFIG_MTD unset
Fixed typo in the patch provided by Hauke:
https://lists.openwrt.org/pipermail/openwrt-devel/2015-July/034274.html

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 46346
2015-07-14 07:38:47 +00:00
John Crispin
a9b06a49a8 generic: add missing symbol
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 46345
2015-07-14 07:38:33 +00:00
Hauke Mehrtens
56597e059d kernel: add missing config option
This should fix build of sunxi.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46304
2015-07-12 10:51:28 +00:00
Hauke Mehrtens
763e2502b6 kernel: update 4.1 to 4.1.2
Changelog:
 * https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.2

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46301
2015-07-11 19:59:26 +00:00
Hauke Mehrtens
e0402257e5 kernel: update 4.0 to 4.0.8
Changelog:
 * https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.0.8

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46300
2015-07-11 19:59:05 +00:00
Hauke Mehrtens
58b66cdd75 kernel: update 3.18 to 3.18.18
Changelog:
 * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.18

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46299
2015-07-11 19:58:44 +00:00
Felix Fietkau
ceda9f1554 kernel: add missing config symbol (fixes #19880)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46265
2015-07-08 08:20:44 +00:00
Felix Fietkau
a757d4fd56 kernel: add missing 4.1 config symbol
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46264
2015-07-08 08:20:38 +00:00
John Crispin
8f0e96ee11 mips: Free memory when load_module fails (#14453)
The mips reloc patch introduced new allocations which were done before
add_unformed_module but never freed them in case of an error. A new hook in
Linux 3.19 called module_arch_freeing_init can be used for freeing memory
which were allocated during this init phase.

The problem can be seen when trying to load a module (via busybox insmod)
when it was already loaded.

    free -m
    for i in `seq 1 100`; do
        /sbin/insmod /lib/modules/*/ath9k.ko >& /dev/null
    done
    free -m

This simple loop would leak ~3.2 MB.

Signed-off-by: Sven Eckelmann <sven@open-mesh.com>

SVN-Revision: 46247
2015-07-07 13:48:27 +00:00
John Crispin
8fa677d7b0 generic: mtd backport for Spansion S25FL164K
Backport for the Spansion S25FL164K
It's a 8 MiB flash chip with 4 KiB erase sectors.

Signed-off-by: L. D. Pinney <ldpinney@gmail.com>

SVN-Revision: 46237
2015-07-07 13:47:08 +00:00
John Crispin
b9463ce786 generic: Allow configuring an increment with mtd-mac-address
This is useful if the device also has an ethernet WAN interface with a
separate mac address (that is derived from the LAN mac address).

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 46220
2015-07-07 13:44:27 +00:00
Jonas Gorski
fc3cda695c kernel: add a few more missing config symbols
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46188
2015-07-05 21:32:55 +00:00
Jonas Gorski
04053a1217 kernel: generic: add missing arm machtypes
Some machtypes were dropped when 4.0 support was added, and the
incomplete patch was taken over to 4.1.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46187
2015-07-05 21:32:49 +00:00
Jonas Gorski
cf304f5a5e kernel: mips_disable_fpu: initialize fault_addr in fpu_emulator_cop1Handler
Code calling fpu_emulator_cop1Handler will pass on fault_addr, making gcc
complain about it not being initialized when the FPU emulator is disabled.

Fixes:

arch/mips/kernel/traps.c: In function 'do_fpe':
arch/mips/kernel/traps.c:864:22: error: 'fault_addr' may be used uninitialized in this function [-Werror=maybe-uninitialized]
  process_fpemu_return(sig, fault_addr, fcr31);
                      ^
arch/mips/kernel/traps.c: In function 'do_ri':
arch/mips/kernel/traps.c:806:22: error: 'fault_addr' may be used uninitialized in this function [-Werror=maybe-uninitialized]
  process_fpemu_return(sig, fault_addr, fcr31);
                      ^
arch/mips/kernel/traps.c:763:15: note: 'fault_addr' was declared here
  void __user *fault_addr;
               ^
arch/mips/kernel/traps.c: In function 'do_cpu':
arch/mips/kernel/traps.c:1421:28: error: 'fault_addr' may be used uninitialized in this function [-Werror=maybe-uninitialized]
   if (!process_fpemu_return(sig, fault_addr, fcr31) && !err)
                            ^
cc1: all warnings being treated as errors
make[7]: *** [arch/mips/kernel/traps.o] Error 1

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46184
2015-07-05 21:31:54 +00:00
Hauke Mehrtens
d0aca89c18 kernel: b53: fix build with brcm47xx
The position of the nvram header file on brcm47xx changed with kernel
version 4.1.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46170
2015-07-03 23:27:21 +00:00