Commit Graph

3560 Commits

Author SHA1 Message Date
Kevin Darbyshire-Bryant
b31f9190c3 netsupport: move out sch_cake from kmod-sched
Fix file installation clash between kmod-sched & kmod-sched-cake as both
try to install sch_cake.ko

Remove cake from kmod-sched package as cake is supposed to be the
optional qdisc.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2019-07-09 13:54:24 +01:00
Konstantin Demin
5dc7d63d0a netsupport: move out mqprio from kmod-sched
Currently, there's unable to install "kmod-sched-mqprio" after
"kmod-sched" (or vice versa), because "sch_mqprio.ko" is
shipped in both packages.

Fixes: f83522fa63 ("linux: Add kmod-sched-mqprio")
Fixes: 6af639e0bf ("linux: Add kmod-sched-act-vlan")
Fixes: 72c7e2dc46 ("linux: Add kmod-sched-flower")
Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
[Add cls_flower and act_vlan]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-07-08 16:42:26 +02:00
Kevin Darbyshire-Bryant
5c094ff660 kmod-sched-cake: drop out of tree package, use kernel version
CAKE made it to kernel 4.19 and since OpenWrt now at kernel 4.19 we can
drop the out of tree cake package in base repository.

Add kmod-sched-cake to netsupport so package dependencies are still met.
Similarly CAKE is retained as an optional qdisc module to avoid base
scheduler package size implications.

Backport upstream patches from k5.1 to address some small bugs and
support fwmark usage.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2019-07-08 11:05:43 +01:00
Felix Fietkau
92f83abc5e mt76: update to the latest version
6cafaca mt7603: use READ_ONCE instead of ACCESS_ONCE
9e2e0b8 mt76: round up length on mt76_wr_copy
e378ef1 mt76: mt7615: fix sparse warnings: warning: restricted __le16 degrades to integer
7991dd7 mt76: mt7615: introduce mt7615_regd_notifier
901a4c7 mt76: mt7615: add hw dfs pattern detector support
57c600e mt76: mt7615: do not perform txcalibration before cac is complited
6afc952 mt76: mt7615: add csa support
8919516 mt76: mt7615: add radar pattern test knob to debugfs
3be723c mt76: mt7615: clean up FWDL TXQ during/after firmware upload
47fe37e mt76: mt7615: fall back to sw encryption for unsupported ciphers
bc5e041 mt76: mt7603: enable hardware rate up/down selection
ae760db mt76: mt7615: move mt7615_mcu_set_rates to mac.c
2ae01f7 mt76: mt7615: reset rate index/counters on rate table update
6f98378 mt76: mt7615: sync with mt7603 rate control changes
edbe88e mt76: usb: fix endian in mt76u_copy
f43b622 mt76: usb: remove unneeded {put,get}_unaligned
5e1e5b7 mt76: usb: use full intermediate buffer in mt76u_copy
017d0ff mt76: mt76u: fix typo in mt76u_fill_rx_sg
2c0ccf1 mt76: mt7615: always release sem in mt7615_load_patch
0c6f1a2 mt76: mt7615: introduce mt7615_mcu_send_ram_firmware routine
3dfc1ee mt76: mt7615: fix sparse warnings: incorrect type in assignment (different base types)
9475320 mt76: mt7603: fix sparse warnings: warning: incorrect type in assignment (different base types)
e07451d mt76: mt7615: fix sparse warnings: warning: cast from restricted __le16
b973bef mt7603: do not use tssi-off power value for mt7628

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-07-04 20:15:00 +02:00
Martin Blumenstingl
bf21b6e44d lantiq: ltq-tapi: fix compatibility with Linux 4.15+
Linux 4.15 removes the init_timer() API. It's replaced by two functions:
- timer_setup() is used instead of init_timer() and also replaces the
  timer "function" (callback) setup.
- from_timer() has to be used to obtain the use-case specific data from
  a struct timer_list, which is now passed to the timer callback.

Update the timer API to be compatible with Linux 4.15+ so it compiles
with the upcoming Linux 4.19 kernel update.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2019-07-04 08:29:13 +02:00
Felix Fietkau
a0e5ca4f35 mt76: update to the latest version, adds preliminary mt7615 support
b3a2965 mt76x02: fix crash on device reset
ffddb68 mt76x02u: check chip version on probe
7fc5f92 mt76x2u: remove duplicated entry in mt76x2u_device_table
61311d9 mt76: introduce mt76_free_device routine
a7dfcf2 mt76: move mac_work in mt76_dev
334b4ce mt76: add mac80211 driver for MT7615 PCIe-based chipsets
edb2a00 mt76: add unlikely() for dma_mapping_error() check
355c079 mt76: use macro for sn and seq_ctrl conversion
133bffb add firmware for MT7615E
49d9c1b mt76: usb: reduce locking in mt76u_tx_tasklet
3e371ca mt76: set txwi_size according to the driver value
5007326 mt76: add skb pointer to mt76_tx_info
c47a568 mt76: dma: introduce skb field in mt76_txwi_cache
9029560 mt76: dma: add skb check for dummy pointer
e9eea39 mt76: mt7615: use sizeof instead of sizeof_field
98c5359 Revert "mt76: fix potential deadlock on cancelling workqueues"
bc9baa7 mt76x02u: remove bogus stop on suspend
6c1cab9 mt76usb: fix tx/rx stop
0e674c5 mt76x02: remove bogus mutex usage
59f7bb6 Revert "mt76: mt76x02: send no-skb tx status without holding the status lock"
b0f2a30 mt76x02: avoid status_list.lock and sta->rate_ctrl_lock dependency
62054de mt76: mt7603: remove query from mt7603_mcu_msg_send signature
e79d96a mt76: mt7603: use standard signature for mt7603_mcu_msg_send
be8f039 mt76: mt7603: initialize mt76_mcu_ops data structure
9a9c656 mt76: introduce mt76_mcu_restart macro
980b91e mt76: mt7603: init mcu_restart function pointer
a97db3f mt76: mt7603: run __mt76_mcu_send_msg in mt7603_mcu_send_firmware
151115f mt76: mt76x02: mt76x02_poll_tx() can be static
7391f98 mt76: fix endianness sparse warnings
6c06f73 mt76: mt7603: report firmware version using ethtool
f06647e mt76: usb: use EP max packet aligned buffer sizes for rx
f43fccf mt76: move beacon_int in mt76_dev
74ab2cf mt76: move beacon_mask in mt76_dev
23c2f94 mt76: add TX/RX antenna pattern capabilities
6e790e1 mt76: move pre_tbtt_tasklet in mt76_dev
7606c08 mt76: mt7603: enable/disable pre_tbtt_tasklet in mt7603_set_channel
ff22eee mt76: do not enable/disable pre_tbtt_tasklet in scan_start/scan_complete
3157385 mt76: mt7603: dynamically alloc mcu req in mt7603_mcu_set_eeprom
cc674e2 mt76: mt76x02: remove useless return in mt76x02_resync_beacon_timer
6b18427 mt76: move tx_napi in mt76_dev
bce63c4 mt76: mt7603: use napi polling for tx cleanup
4afd89e mt76: mt7615: use napi polling for tx cleanup
2cb4683 mt76: move netif_napi_del in mt76_dma_cleanup
b4ceb9f mt76: Fix a signedness bug in mt7615_add_interface()
d00dc95 mt76: mt7615: Use after free in mt7615_mcu_set_bcn()
4e0ccc6 mt76: mt7615: Make mt7615_irq_handler static
0fd552a mt7615: mcu: simplify __mt7615_mcu_set_wtbl
50f7094 mt7615: mcu: simplify __mt7615_mcu_set_sta_rec
4434d04 mt7615: mcu: remove bss_info_convert_vif_type routine
083fbb9 mt7615: mcu: use proper msg size in mt7615_mcu_add_wtbl_bmc
f61ca80 mt7615: mcu: use proper msg size in mt7615_mcu_add_wtbl
35bd12d mt7615: mcu: unify mt7615_mcu_add_wtbl_bmc and mt7615_mcu_del_wtbl_bmc
f8f990b mt7615: mcu: remove unused parameter in mt7615_mcu_del_wtbl
965bca1 mt7615: remove query from mt7615_mcu_msg_send signature
9b9ca18 mt7615: remove dest from mt7615_mcu_msg_send signature
935b7e5 mt7615: mcu: remove skb_ret from mt7615_mcu_msg_send
2442db4 mt7615: mcu: unify __mt7615_mcu_set_dev_info and mt7615_mcu_set_dev_info
645bc45 mt7615: mcu: do not use function pointers whenever possible
40c4201 mt7615: mcu: remove unused structure in mcu.h
a8834a2 mt7615: mcu: use standard signature for mt7615_mcu_msg_send
824d25c mt7615: initialize mt76_mcu_ops data structure
d943427 mt7615: mcu: init mcu_restart function pointer
c2211e4 mt7615: mcu: run __mt76_mcu_send_msg in mt7615_mcu_send_firmware
cb63a06 mt76: mt7603: stop mac80211 queues before setting the channel
c6aaa3a mt76: mt7615: rearrange cleanup operations in mt7615_unregister_device
97609f3 mt76: mt7615: add static qualifier to mt7615_rx_poll_complete
f9dadd2 mt76: mt7603: add debugfs knob to enable/disable edcca
89cda5d mt7603: fix reading target tx power from eeprom
77d0e33 mt76: fix setting chan->max_power
f575da2 mt76: mt76x02: fix tx status reporting issues
a5d18dc mt76: mt76x02: fix tx reordering on rate control probing without a-mpdu
bd32a93 mt76: mt76x02: remove enable from mt76x02_edcca_init signature
18386ee mt76: mt76x2u: remove mt76x02_edcca_init in mt76x2u_set_channel
da3514f mt76: mt76x2: move mutex_lock inside mt76x2_set_channel
0d4719c mt76: mt76x02: run mt76x02_edcca_init atomically in mt76_edcca_set
fd5af73 mt76: mt76x02: fix edcca file permission
a0f51f2 mt76: mt7615: do not process rx packets if the device is not initialized
753cdee mt76: mt7615: stop mcu first in mt7615_unregister_device
899efe7 mt76: move mt76_insert_ccmp_hdr in mt76-module
6960b6e mt76: mt7615: add support for mtd eeprom parsing
4bcb057 mt76: mt7615: select wifi band according to eeprom
866f2c6 mt76: generalize mt76_get_txpower for 4x4:4 devices
514fb04 mt76: mt7615: add the capability to configure tx power
ced9d43 mt76: mt7615: init get_txpower mac80211 callback
8abd502 mt76: mt7615: rearrange locking in mt7615_config
5b9b62e mt76: move mt76_get_rate in mt76-module
661c7c8 mt76: Remove set but not used variables 'pid' and 'final_mpdu'
f072c7b mt76: mt7615: enable support for mesh
28d9496 mt76: mt7615: fix slow performance when enable encryption
827b9ad mt76: mt7615: remove unused variable in mt7615_mcu_set_bcn
34eea14 mt76: mt7615: remove key check in mt7615_mcu_set_wtbl_key
2bfae5a mt76: usb: fix rx A-MSDU support
b033532 mt76: usb: do not always copy the first part of received frames
3e7fc15 mt76x02: fix reporting of non-probing frames with tx status requested
0d5caea Revert "mt76: usb: do not always copy the first part of received frames"
335e8c6 Revert "mt76: usb: fix rx A-MSDU support"
47ddf4b mt76: revert support for TX_NEEDS_ALIGNED4_SKBS
0b6520b mt7603: rework and fix tx status reporting
539b679 mt7603: improve hardware rate switching configuration
d86d6ef mt76x0: fix RF frontend initialization for external PA
f476a14 mt76x02: fix endian issue in tx status reporting patch
f8d0517 mt76: mt7615: simplify mt7615_mcu_set_sta_rec routine
73ff45f mt76: mt7615: add support for per-chain signal strength reporting
9b67ae6 mt76: mt7615: init per-channel target power
160fdc0 mt76: mt7615: take into account extPA when configuring tx power
2211d93 mt76: mt76x02u: fix sparse warnings: should it be static?
3750533 mt76: mt7615: fix incorrect settings in mesh mode
c37c1ca mt76: mt7615: update peer's bssid when state transition occurs
9dd1089 mt76: mt76u: reduce rx memory footprint
0789f45 mt76: mt7615: remove cfg80211_chan_def from mt7615_set_channel signature
2dca431 mt76: move nl80211_dfs_regions in mt76_dev data structure
3386ccf mt76: mt76u: get rid of {out,in}_max_packet
d680ab0 mt76: usb: fix rx A-MSDU support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-06-25 13:24:49 +02:00
Felix Fietkau
e08296a851 mac80211: add rate control support for 4 spatial streams, improve precision
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-06-25 13:24:49 +02:00
Stefan Lippers-Hollmann
cba6832622 kernel: alx driver for AR816x/AR817x Ethernet
These ethernet cards can be found onboard various x86 and
x86_64 Gigabyte mainboards since the sandy-bridge/ ivy-bridge era.

This driver supports the following QCA/"Killer" ethernet cards:

	1969:1091 - AR8161 Gigabit Ethernet
	1969:1090 - AR8162 Fast Ethernet
	1969:10A1 - AR8171 Gigabit Ethernet
	1969:10A0 - AR8172 Fast Ethernet

	1969:E091 - Killer E2200 Gigabit Ethernet
	1969:E0A1 - Killer E2400 Gigabit Ethernet
	1969:E0B1 - Killer E2500 Gigabit Ethernet

Successfully runtime tested with the onboard ethernet card of a
Gigabyte GA-H77M-D3H ivy-bridge mainboard (x86_64/EFI image):

02:00.0 Ethernet controller [0200]: Qualcomm Atheros AR8161 [...]
	Subsystem: Gigabyte Technology Co., Ltd AR8161 [...]
	Kernel driver in use: alx
	Kernel modules: alx

alx 0000:02:00.0 eth0: Qualcomm Atheros AR816x/AR817x Ethernet [...]
alx 0000:02:00.0 eth0: NIC Up: 1 Gbps Full

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [fix typo,
shorten subject to <50 characters, shorten lines to <76 chars.]
2019-06-22 13:17:47 +02:00
Stefan Lippers-Hollmann
5691665361 mac80211: update WDS/4addr fix to the version accepted upstream
This updates "{nl,mac}80211: allow 4addr AP operation on crypto
controlled devices" to the version (v3), which was accepted into
upstream mac80211.git and which is tagged for -stable backporting
(v4.18+).

https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git/commit/?id=33d915d9e8ce811d8958915ccd18d71a66c7c495

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[format-patch]
2019-06-22 13:17:47 +02:00
Christian Lamparter
c4fb221376 kernel: fix kmod-tpm 4.19 dependencies
This patch fixes the ath79-nand build error:
|Package kmod-tpm is missing dependencies for the following libraries:
|rng-core.ko

by making it depend on rng-core from 4.19 onwards.
This should work as 4.9 is gone so only 4.14 and 4.19
are there.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2019-06-22 13:17:47 +02:00
Chris Koying Browet
0e961a1f9f kernel: dm: add dm-raid for LVM raid
This adds the dm-raid kmod, which is needed for
LVM builtin raid configurations, aka "MD-over-LVM"

Signed-off-by: Chris Koying Browet <cbro@semperpax.com>
2019-06-20 20:02:29 +02:00
Petko Bordjukov
1e2e5c66ed kernel: package Broadcom BNX2X driver
bnx2x driver support for the x86 architecture. Includes module and
firmware for Broadcom QLogic 5771x/578xx 10/20-Gigabit ethernet
adapters.

Signed-off-by: Petko Bordjukov <bordjukov@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[added +kmod-lib-zlib-inflate as well]
2019-06-20 20:02:29 +02:00
Jo-Philipp Wich
74739c4228 treewide: fix syntax errors exposed after kconfig update
After commit e82a4d9cfb ("config: regenerate *_shipped sources") the mconf
parser became more strict as a side effect and started to spew a series of
warnings when evaluating our generated kconfig sources:

  tmp/.config-package.in:705:warning: ignoring unsupported character '@'

The root cause of these warnings is a wrong use of the @SYMBOL dependency
syntax in various Makefile. Fix the corresponding Makefiles by turning
`@SYM||@SYM2` expressions into the proper `@(SYM||SYM2)` form.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2019-06-20 14:16:08 +02:00
Yousong Zhou
f528d771c4 netsupport: add kmod-nsh
This is required by kmod-openvswitch since linux 4.15.

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2019-06-20 08:24:20 +00:00
Petr Štetiar
dd6d82112a gpio-button-hotplug: fix 4.19 build breakage on malta/be64
While testing 4.19 build on malta/be64, I've encountered following
error:

 gpio-button-hotplug/gpio-button-hotplug.c:529:18: error: implicit
 declaration of function 'gpio_to_desc'

which is caused by the missing include fixed by this patch.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-06-17 09:42:36 +02:00
Tomasz Maciej Nowak
7046a249d8 kernel: package module for SafeXcel crypto engine
Supports EIP97 and EIP197 found on Armada 37xx, 7k and 8k SoCs.
Unfortunately firmware for EIP197 is not easily obtainable, therefore
to not cause lot of user requests directed at OpenWrt, package it as
module with explanation where to obtain the firmware.

Cc: Marek Behún <marek.behun@nic.cz>
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2019-06-17 09:36:03 +02:00
Rafał Miłecki
8888cb725d mac80211: brcm: backport remaining brcmfmac 5.2 patches
This improves FullMAC firmware compatibility, adds logging in case of
firmware crash and *may* fix "Invalid packet id" errors.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2019-06-16 18:58:51 +02:00
André Valentin
8f5873f6c8 netsupport: improve xfrm module support
-switch to module autoprobe
-exclude 4.9 kernel

Signed-off-by: André Valentin <avalentin@marcant.net>
2019-06-16 17:32:27 +02:00
Christian Lamparter
82b78a9659 mac80211: refresh patches
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2019-06-15 19:55:32 +02:00
Sven Eckelmann
2f84bb1af2 mac80211: ath10k: adjust tx power reduction for US regulatory domain
FCC allows maximum antenna gain of 6 dBi. 15.247(b)(4):

> (4) The conducted output power limit
> specified in paragraph (b) of this section
> is based on the use of antennas
> with directional gains that do not exceed
> 6 dBi. Except as shown in paragraph
> (c) of this section, if transmitting
> antennas of directional gain greater
> than 6 dBi are used, the conducted
> output power from the intentional radiator
> shall be reduced below the stated
> values in paragraphs (b)(1), (b)(2),
> and (b)(3) of this section, as appropriate,
> by the amount in dB that the
> directional gain of the antenna exceeds
> 6 dBi.

https://www.gpo.gov/fdsys/pkg/CFR-2013-title47-vol1/pdf/CFR-2013-title47-vol1-sec15-247.pdf

Signed-off-by: Sven Eckelmann <sven@narfation.org>
2019-06-15 19:55:32 +02:00
Sven Eckelmann
f17529a122 mac80211: ath10k: fix max antenna gain unit
Most of the txpower for the ath10k firmware is stored as twicepower (0.5 dB
steps). This isn't the case for max_antenna_gain - which is still expected
by the firmware as dB.

The firmware is converting it from dB to the internal (twicepower)
representation when it calculates the limits of a channel. This can be seen
in tpc_stats when configuring "12" as max_antenna_gain. Instead of the
expected 12 (6 dB), the tpc_stats shows 24 (12 dB).

Tested on QCA9888 and IPQ4019 with firmware 10.4-3.5.3-00057.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
2019-06-15 19:55:32 +02:00
Sven Eckelmann
01142665b7 mac80211: ath9k: Increase allowed antenna gain to 6 dBi
FCC allows maximum antenna gain of 6 dBi. 15.247(b)(4):

> (4) The conducted output power limit
> specified in paragraph (b) of this section
> is based on the use of antennas
> with directional gains that do not exceed
> 6 dBi. Except as shown in paragraph
> (c) of this section, if transmitting
> antennas of directional gain greater
> than 6 dBi are used, the conducted
> output power from the intentional radiator
> shall be reduced below the stated
> values in paragraphs (b)(1), (b)(2),
> and (b)(3) of this section, as appropriate,
> by the amount in dB that the
> directional gain of the antenna exceeds
> 6 dBi.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
2019-06-15 19:55:32 +02:00
Rosen Penev
481fbc3724 kernel: Add AEAD and RNG support to kmod-crypto-user
Now that kernel 3.18 is gone, we can safely add these features.

Tested on Turris Omnia.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-06-15 19:55:31 +02:00
Kevin Darbyshire-Bryant
49b3dcb2ab ath10k-ct: Update to 2019-06-13
Changes:

ath10k:  Improve PMF/MPF mgt frame check

And add a driver for 5.2 (beta, not even tested yet) kernel.

Refresh patches.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2019-06-13 19:35:19 +01:00
André Valentin
ae3e232b11 netsupport: add xfrmi interface support
Add support for xfrm interfaces in kernel. XFRM interfaces are used by
the IPsec stack for tunneling.
XFRM interfaces are available since linux 4.19.

Signed-off-by: André Valentin <avalentin@marcant.net>
2019-06-09 21:48:22 +02:00
Petr Štetiar
6c5bfaac84 gpio-button-hotplug: gpio-keys: fix always missing first event
Commit afc056d7dc ("gpio-button-hotplug: support interrupt
properties") changed the gpio-keys interrupt handling logic in a way,
that it always misses first event, which causes issues with rc.button
scripts, so this patch restores the previous behaviour.

Fixes: afc056d7dc ("gpio-button-hotplug: support interrupt properties")
Reported-by: Kristian Evensen <kristian.evensen@gmail.com>
Tested-by: Kuan-Yi Li <kyli.tw@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [drop state check]
2019-06-09 14:51:47 +02:00
Petr Štetiar
27d234a345 gpio-button-hotplug: fix wrong initial seen value
Currently the generated event contains wrong seen value, when the button
is pressed for the first time:

 rmmod gpio_button_hotplug; modprobe gpio_button_hotplug
 [ pressing the wps key immediately after modprobe ]
 gpio-keys: create event, name=wps, seen=1088, pressed=1

So this patch adds a check for this corner case and makes seen=0 if the
button is pressed for the first time.

Tested-by: Kuan-Yi Li <kyli.tw@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-06-09 14:51:47 +02:00
Petr Štetiar
33ccfe0e14 gpio-button-hotplug: use pr_debug and pr_err
pr_debug can be used with dynamic debugging.

Tested-by: Kuan-Yi Li <kyli.tw@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-06-09 14:51:47 +02:00
Kevin Darbyshire-Bryant
b8a72dfd28 kernel: backport act_ctinfo
ctinfo is a new tc filter action module.  It is designed to restore
information contained in firewall conntrack marks to other packet fields
and is typically used on packet ingress paths.  At present it has two
independent sub-functions or operating modes, DSCP restoration mode &
skb mark restoration mode.

The DSCP restore mode:

This mode copies DSCP values that have been placed in the firewall
conntrack mark back into the IPv4/v6 diffserv fields of relevant
packets.

The DSCP restoration is intended for use and has been found useful for
restoring ingress classifications based on egress classifications across
links that bleach or otherwise change DSCP, typically home ISP Internet
links.  Restoring DSCP on ingress on the WAN link allows qdiscs such as
but by no means limited to CAKE to shape inbound packets according to
policies that are easier to set & mark on egress.

Ingress classification is traditionally a challenging task since
iptables rules haven't yet run and tc filter/eBPF programs are pre-NAT
lookups, hence are unable to see internal IPv4 addresses as used on the
typical home masquerading gateway.  Thus marking the connection in some
manner on egress for later restoration of classification on ingress is
easier to implement.

Parameters related to DSCP restore mode:

dscpmask - a 32 bit mask of 6 contiguous bits and indicate bits of the
conntrack mark field contain the DSCP value to be restored.

statemask - a 32 bit mask of (usually) 1 bit length, outside the area
specified by dscpmask.  This represents a conditional operation flag
whereby the DSCP is only restored if the flag is set.  This is useful to
implement a 'one shot' iptables based classification where the
'complicated' iptables rules are only run once to classify the
connection on initial (egress) packet and subsequent packets are all
marked/restored with the same DSCP.  A mask of zero disables the
conditional behaviour ie. the conntrack mark DSCP bits are always
restored to the ip diffserv field (assuming the conntrack entry is found
& the skb is an ipv4/ipv6 type)

e.g. dscpmask 0xfc000000 statemask 0x01000000

|----0xFC----conntrack mark----000000---|
| Bits 31-26 | bit 25 | bit24 |~~~ Bit 0|
| DSCP       | unused | flag  |unused   |
|-----------------------0x01---000000---|
      |                   |
      |                   |
      ---|             Conditional flag
         v             only restore if set
|-ip diffserv-|
| 6 bits      |
|-------------|

The skb mark restore mode (cpmark):

This mode copies the firewall conntrack mark to the skb's mark field.
It is completely the functional equivalent of the existing act_connmark
action with the additional feature of being able to apply a mask to the
restored value.

Parameters related to skb mark restore mode:

mask - a 32 bit mask applied to the firewall conntrack mark to mask out
bits unwanted for restoration.  This can be useful where the conntrack
mark is being used for different purposes by different applications.  If
not specified and by default the whole mark field is copied (i.e.
default mask of 0xffffffff)

e.g. mask 0x00ffffff to mask out the top 8 bits being used by the
aforementioned DSCP restore mode.

|----0x00----conntrack mark----ffffff---|
| Bits 31-24 |                          |
| DSCP & flag|      some value here     |
|---------------------------------------|
			|
			|
			v
|------------skb mark-------------------|
|            |                          |
|  zeroed    |                          |
|---------------------------------------|

Overall parameters:

zone - conntrack zone

control - action related control (reclassify | pipe | drop | continue |
ok | goto chain <CHAIN_INDEX>)

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Reviewed-by: Toke Høiland-Jørgensen <toke@redhat.com>
Acked-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

Make suitable adjustments for backporting to 4.14 & 4.19
and add to SCHED_MODULES_FILTER

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2019-06-06 15:41:07 +01:00
Sebastian Meiling
239b79f668 kernel: add package for atusb wpan module
This adds a new package for the kernel module of the ATUSB WPAN driver.

Signed-off-by: Sebastian Meiling <s@mlng.net>
[fixed SoB: and From: mismatch]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-06-06 15:40:08 +02:00
Kevin Darbyshire-Bryant
24e09bac48 Revert "kernel: backport act_ctinfo"
This reverts commit 7c50182e0c.

Produces build error:
Package kmod-sched is missing dependencies for the following libraries:
nf_conntrack.ko

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2019-06-06 10:45:15 +01:00
Kevin Darbyshire-Bryant
7c50182e0c kernel: backport act_ctinfo
ctinfo is a new tc filter action module.  It is designed to restore
information contained in firewall conntrack marks to other packet fields
and is typically used on packet ingress paths.  At present it has two
independent sub-functions or operating modes, DSCP restoration mode &
skb mark restoration mode.

The DSCP restore mode:

This mode copies DSCP values that have been placed in the firewall
conntrack mark back into the IPv4/v6 diffserv fields of relevant
packets.

The DSCP restoration is intended for use and has been found useful for
restoring ingress classifications based on egress classifications across
links that bleach or otherwise change DSCP, typically home ISP Internet
links.  Restoring DSCP on ingress on the WAN link allows qdiscs such as
but by no means limited to CAKE to shape inbound packets according to
policies that are easier to set & mark on egress.

Ingress classification is traditionally a challenging task since
iptables rules haven't yet run and tc filter/eBPF programs are pre-NAT
lookups, hence are unable to see internal IPv4 addresses as used on the
typical home masquerading gateway.  Thus marking the connection in some
manner on egress for later restoration of classification on ingress is
easier to implement.

Parameters related to DSCP restore mode:

dscpmask - a 32 bit mask of 6 contiguous bits and indicate bits of the
conntrack mark field contain the DSCP value to be restored.

statemask - a 32 bit mask of (usually) 1 bit length, outside the area
specified by dscpmask.  This represents a conditional operation flag
whereby the DSCP is only restored if the flag is set.  This is useful to
implement a 'one shot' iptables based classification where the
'complicated' iptables rules are only run once to classify the
connection on initial (egress) packet and subsequent packets are all
marked/restored with the same DSCP.  A mask of zero disables the
conditional behaviour ie. the conntrack mark DSCP bits are always
restored to the ip diffserv field (assuming the conntrack entry is found
& the skb is an ipv4/ipv6 type)

e.g. dscpmask 0xfc000000 statemask 0x01000000

|----0xFC----conntrack mark----000000---|
| Bits 31-26 | bit 25 | bit24 |~~~ Bit 0|
| DSCP       | unused | flag  |unused   |
|-----------------------0x01---000000---|
      |                   |
      |                   |
      ---|             Conditional flag
         v             only restore if set
|-ip diffserv-|
| 6 bits      |
|-------------|

The skb mark restore mode (cpmark):

This mode copies the firewall conntrack mark to the skb's mark field.
It is completely the functional equivalent of the existing act_connmark
action with the additional feature of being able to apply a mask to the
restored value.

Parameters related to skb mark restore mode:

mask - a 32 bit mask applied to the firewall conntrack mark to mask out
bits unwanted for restoration.  This can be useful where the conntrack
mark is being used for different purposes by different applications.  If
not specified and by default the whole mark field is copied (i.e.
default mask of 0xffffffff)

e.g. mask 0x00ffffff to mask out the top 8 bits being used by the
aforementioned DSCP restore mode.

|----0x00----conntrack mark----ffffff---|
| Bits 31-24 |                          |
| DSCP & flag|      some value here     |
|---------------------------------------|
			|
			|
			v
|------------skb mark-------------------|
|            |                          |
|  zeroed    |                          |
|---------------------------------------|

Overall parameters:

zone - conntrack zone

control - action related control (reclassify | pipe | drop | continue |
ok | goto chain <CHAIN_INDEX>)

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Reviewed-by: Toke Høiland-Jørgensen <toke@redhat.com>
Acked-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

Make suitable adjustments for backporting to 4.14 & 4.19

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2019-06-06 09:41:26 +01:00
Christian Lamparter
afc056d7dc gpio-button-hotplug: support interrupt properties
Upstream Linux's input gpio-keys driver supports
specifying a external interrupt for a gpio via the
'interrupts' properties as well as having support
for software debounce.

This patch ports these features to OpenWrt's event
version. Only the "pure" interrupt-driven support is
left behind, since this goes a bit against the "gpio"
in the "gpio-keys" and I don't have a real device to
test this with.

This patch also silences the generated warnings showing
up since 4.14 due to the 'constification' of the
struct gpio_keys_button *buttons variable in the
upstream struct gpio_keys_platform_data declaration.

gpio-button-hotplug.c: In function 'gpio_keys_get_devtree_pdata':
gpio-button-hotplug.c:392:10: warning: assignment discards 'const'
	qualifier from pointer target type [-Wdiscarded-qualifiers]
   button = &pdata->buttons[i++];
          ^
gpio-button-hotplug.c: In function 'gpio_keys_button_probe':
gpio-button-hotplug.c:537:12: warning: assignment discards 'const'
	qualifier from pointer target type [-Wdiscarded-qualifiers]
   bdata->b = &pdata->buttons[i];
            ^
gpio-button-hotplug.c: In function 'gpio_keys_probe':
gpio-button-hotplug.c:563:37: warning: initialization discards 'const'
	qualifier from pointer target type [-Wdiscarded-qualifiers]
   struct gpio_keys_button *button = &pdata->buttons[i];
                                   ^
Acked-by: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2019-05-31 10:30:03 +02:00
Alan Swanson
5422fed787 gpio-button-hotplug: add KEY_POWER2 handling
For devices such as BTHOMEHUBV5A with both reset and restart buttons,
its easily accessible restart button has been assigned to KEY_POWER
power script to poweroff preventing accidental (or malicious) factory
resets by KEY_RESTART reset script. However an easily accessible button
immediately powering off the device is also undesirable.

As KEY_RESTART is already used for reset script (and there's no
KEY_REBOOT in Linux input events), use KEY_POWER2 for rebooting via new
reboot script with 5 second seen delay.

Fixes: FS#1965
Signed-off-by: Alan Swanson <reiver@improbability.net>
Signed-off-by: Petr Štetiar <ynezz@true.cz> [long line wrap]
2019-05-30 11:55:50 +02:00
Alan Swanson
a46259787d button-hotplug: add KEY_POWER2 handling
For devices such as BTHOMEHUBV5A with both reset and restart buttons,
its easily accessible restart button has been assigned to KEY_POWER
power script to poweroff preventing accidental (or malicious) factory
resets by KEY_RESTART reset script. However an easily accessible button
immediately powering off the device is also undesirable.

As KEY_RESTART is already used for reset script (and there's no
KEY_REBOOT in Linux input events), use KEY_POWER2 for rebooting via new
reboot script with 5 second seen delay.

Fixes: FS#1965
Signed-off-by: Alan Swanson <reiver@improbability.net>
Signed-off-by: Petr Štetiar <ynezz@true.cz> [long line wrap]
2019-05-30 11:55:50 +02:00
Robert Marko
671d8752d1 ath10k-ct: Update to current version
This patch updates ath10k-ct to current version.
Changes are:
     ath10k-ct:  Fix printing PN in peer stats.

     Previous logic was incorrect.  Also add set-special API to enable
     returning PN.

Patches refreshed and tested on 8devices Jalapeno dev board(IPQ4019)

Signed-off-by: Robert Marko <robimarko@gmail.com>
2019-05-11 16:37:11 +02:00
Deng Qingfang
367813b9b1 ramips: mt7620: fix dependencies
MT7620 integrated WMAC does not need RT2x00 PCI driver or firmware
Also corrected kmod-eeprom-93cx6 and kmod-lib-crc-itu-t dependencies
according to original Kconfig and lsmod output

This will remove some unnecessary packages from MT7620 target to
save some space

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[75 characters per line in the commit message]
2019-05-11 01:05:11 +02:00
Hauke Mehrtens
1325e74e0c kernel: Remove support for kernel 3.18
No target is using kernel 3.18 anymore, remove all the generic
support for kernel 3.18.

The removed packages are depending on kernel 3.18 only and are not used on
any recent kernel.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-05-03 22:41:38 +02:00
Hauke Mehrtens
cd3b298533 omap24xx: Remove unmaintained target
This target only supports kernel 4.1, which is not supported in OpenWrt
any more for multiple releases. It also looks like there is no active
maintainer for this target.
Remove the code and all the packages which are only used by this target.

To add this target to OpenWrt again port it to a recent and supported
kernel version.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-05-03 21:27:12 +02:00
Hauke Mehrtens
2d0a2ff1e0 adm5120: Remove unmaintained target
This target only supports kernel 3.18, which is not supported in OpenWrt
any more for multiple releases. It also looks like there is no active
maintainer for this target.
Remove the code and all the packages which are only used by this target.

To add this target to OpenWrt again port it to a recent and supported
kernel version.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-05-03 21:27:12 +02:00
Robert Marko
a9190ee3a4 kernel: iio: Fix BMP280 Auto probing
Currently Auto probing for BMP/BME280 does not work because kernel
module name in the call is not correct.
Package name was used instead of kernel module name.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2019-05-02 09:35:35 +02:00
Daniel Golle
26dafeeba4 mac80211: rt2x00: replace patches with upstream version
Support for RT3883/RT3663 was merged upstream [1]. Use that patch
instead of our original series. The resulting source tree is
exactly identical, this commit is merely reorganizing the patches.

[1]: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git/commit/?id=d0e61a0f7cca51ce340a5a73595189972122ff25

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-04-29 18:39:04 +02:00
Felix Fietkau
6e7e2f4421 mac80211: fix regression in skb resizing optimization in monitor mode (FS#2254)
struct ieee80211_local needs to be passed in separately instead of
dereferencing the (potentially NULL) sdata

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-04-24 09:33:38 +02:00
Koen Vandeputte
6afe175e5e ath10k-ct: Update to 2019-04-08
9cd701a4f028 ath10k-ct:  Add PN get/set API for wave-2 firmware.
5c8a4668323b ath10k-ct:  Support over-riding the power ctl table in eeprom
75e2705f31bb ath10k-ct:  CCA, eeprom, other changes.
a696e602a0fc ath10k-ct:  Attempt to fix-out-of-tree compile for 4.16
a2aec62262df ath10k:  Improve beacon tx status for 4.20 kernel.
be5c21a82b15 ath10k-ct:  Fix out-of-tree compile for 4.20, pull in stable changes for 4.19

Fixes compile errors when using the 4.20 flavour.
Also the amount of beacon errors seems to have dropped.

Tested on a Mikrotik RB912UAGS-5HPacD

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2019-04-23 13:22:31 +02:00
Rafał Miłecki
083056c83f mac80211: brcm: backport brcmfmac 5.2 patches
This includes some USB fixes and early work on FullMAC firmware crash
recovery.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2019-04-18 10:16:10 +02:00
Lucian Cristian
e762f5d44a kernel: Fix kmod-drm-amdgpu and kmod-drm-radeon dependencies
Currently the Geode builds fails on following kernel module missing
dependencies:

 Package kmod-drm-amdgpu is missing dependencies for the following libraries:
 backlight.ko
 drm_kms_helper.ko
 fb.ko
 ttm.ko

So this patch tries to fix the kmod-drm-amdgpu module dependecies.

Fixes: 2f239c0 ("x86: video: add amdgpu DRM kernel package")
Fixes: 2f6918e ("x86: video: add radeon DRM module support")
Tested-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
2019-04-16 22:51:29 +02:00
Christian Lamparter
d599890efd layerscape: unbreak ehci-fsl interaction with mpc85xx
Both targets have their own idea of how to use ehci-fsl.
This patch reverts part of commit
68b8d3b079 ("kernel: usb: add FSL EHCI package") and moves
ehci-fsl back into kmod-usb2, while also making it hopefully
useable for the mpc85xx target.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2019-04-15 00:20:56 +02:00
Petr Štetiar
8293e7532f mac80211: Fix rate_idx underflow in mwl8k (FS#2218)
Add a patch for mwl8k which fixes endless reboot loops on Linksys EA4500
with certain 5G configurations.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-04-14 23:42:03 +02:00
David Bauer
68b8d3b079 kernel: usb: add FSL EHCI package
Add kernel module package for the Freescale USB2 EHCI used on the
mpc85xx platform.

Signed-off-by: David Bauer <mail@david-bauer.net>
2019-04-13 15:09:09 +02:00
Daniel Golle
9385ff654e mac80211: rt2x00: replace patch with upstream version
Replace the patch introduced by commit d0b969eee8 ("mac80211: rt2x00:
do not increment sequence number while re-transmitting") was merged
into wireless-drivers.git. Replace our version with the merged version.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-04-12 22:14:47 +02:00