Currently, multicast packets from an STA are sent to any according
multicast listener directly through the bridge multicast-to-unicast
feature. Unfortunately, so far this includes the originating STA, too,
resulting in multicast packets being echo'ed back to the originating STA
if it itself is a multicast listener for that group.
This behaviour breaks IPv6 duplicate address detection: An IPv6 Neighbor
Solicitation for IPv6 Duplicate Address Detection is being echo'ed back,
resulting in the host falsely detecting an address collision, which
makes the node unable to claim an IPv6 address and use IPv6 in general.
Mac80211 unfortunately only prevents the echoes for us for multicast
frames. For the multicast frames cast to a unicast destination we'll
need to take care of excluding the originator ourselves.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
SVN-Revision: 46765
Add an upstream fix for /proc/net/route causing missing routes doing
several continued reads from it.
Only 4.1+ is affected.
Closes#20403.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46726
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
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
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
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
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
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
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
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
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
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
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
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
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
Make some network uapi headers detect if they are included after
not only glibc but also musl headers.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46161
Boot tested: http://pastebin.com/L6aAb9xj
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
[jogo:
update to 4.1 final
add patches added since submission
delete patches applied in later rcs
restore commit messages in 220-gc-sections and 304-mips_disable_fpu
fix 050-backport_netfilter_rtcache to match new API
update inlined dma ops with upstream changes
add missing config symbols
enabled CONFIG_MULTIUSER
update kmod defintions for 4.1
]
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46112