Commit graph

1824 commits

Author SHA1 Message Date
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
Jonas Gorski
fa401693d9 kernel: improve uapi headers coexistence with musl
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
2015-07-03 11:48:45 +00:00
Jonas Gorski
831d1c8b45 kernel: update 4.0 to 4.0.7
Changelog:
* https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.0.6
* https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.0.7

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

SVN-Revision: 46151
2015-06-30 23:26:13 +00:00
Jonas Gorski
901a7fa067 kernel: update 3.18 to 3.18.17
Changelog:
* https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.17

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

SVN-Revision: 46150
2015-06-30 23:26:09 +00:00
Hauke Mehrtens
206f1db59e kernel: add some missing config options for 4.1
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46147
2015-06-29 22:20:05 +00:00
Jonas Gorski
a0c49ef46f generic: add linux 4.1 support
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
2015-06-22 12:27:59 +00:00
Rafał Miłecki
5c809ecfe7 b53: Allow using all 8 ports on BCM53011
On two tested devices: Netgear R6250 (BCM53011 rev 2) and Luxul XWC-1000
(BCM53011 rev 3) it was possible to use port 7 and eth1 (instead of port
5 and eth0). It seems BCM53011 just like BCM53012 has 8 ports and
usually 3 of them are connected to the SoC.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 46104
2015-06-21 21:06:09 +00:00
Rafał Miłecki
51042bc517 kernel: make USB_XHCI_PLATFORM selectable
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 46079
2015-06-21 10:18:24 +00:00
Jonas Gorski
0f5b1a3eca kernel: update 4.0 to 4.0.5
Changelog:
* https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.0.5

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

SVN-Revision: 46063
2015-06-19 11:12:43 +00:00
Felix Fietkau
6585c532bd kernel: add linux 4.0 overlayfs locking fix by Miklos Szeredi
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46019
2015-06-17 12:55:20 +00:00
Jonas Gorski
9a59b350b7 kernel: update 3.18 to 3.18.16
Changelogs:

* https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.15
* https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.16

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

SVN-Revision: 46011
2015-06-17 09:54:55 +00:00
Felix Fietkau
48123b0ce0 kernel: add missing config symbol
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46007
2015-06-17 09:08:20 +00:00
Felix Fietkau
42dcce7e4a kernel: add missing config symbol (#19870)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45992
2015-06-15 21:16:15 +00:00
Felix Fietkau
4a9d726200 ar8216: Fix problem with AR8337 MAC swap handling
AR8337 supports a configuration bit to swap MAC0 and MAC6.
Currently this is set in general if an AR8337 is detected and causes
issues with devices using an AR8334 (internally an AR8337, just
less chip pins).
And it might even cause issues with AR8337-based devices with
different board designs.

Swapping the MAC's however isn't needed for AR8337 in general.
It's just needed in case of certain board designs (affected devices
seem to be based on Atheros reference board AP135/136-010).
Therefore this configuration bit should be moved to platform data.

The patch includes the needed changes to the device initialization
code of affected devices. Hopefully I didn't miss any ..

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

SVN-Revision: 45970
2015-06-14 17:43:50 +00:00
Jonas Gorski
9fbd6d0ba0 b53: fix memory out of bounds access on 64 bit targets
On device reset the sizes for the vlan and port tables were wrongly
calculated based on the pointer size instead of the struct size. This
causes buffer overruns on 64 bit targets, resulting in panics.

Fix this by dereferencing the pointers.

Reported-by: Fedor Konstantinov <blmink@mink.su>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 45938
2015-06-10 09:21:36 +00:00
Jonas Gorski
d24d5412ff b53: widen stp state mask to 3 bits (instead of 2)
At least on my b53 chip, the mask is 3 bits wide, and because
of this some STP states are not set properly and discarded when read.

Maybe for some other chips it makes sense to have just 2 bits width,
but I don't have other versions around to test/validate.

If that's the case then maybe we could add another STP state mask.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 45937
2015-06-10 09:21:31 +00:00
Rafał Miłecki
a1340b5cce kernel: backport config-related bcma patches from 4.2
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45927
2015-06-08 12:49:54 +00:00
Felix Fietkau
b9ebf29fbd kernel: move a symbol from the ipq806x config to generic to prevent it from being nuked by make kernel_oldconfig
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45920
2015-06-07 07:32:35 +00:00
Felix Fietkau
5a64d5337b kernel: adjust mips highmem offset to avoid the need for -mlong-calls on systems with >256M RAM
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45891
2015-06-05 08:07:35 +00:00
Rafał Miłecki
6bc9e00e94 kernel: backport ssb fix for WRT350N v1 (BCM4705) reboots
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 45865
2015-06-01 06:11:26 +00:00