Commit graph

3360 commits

Author SHA1 Message Date
Hauke Mehrtens
3404c5978a samsung: Add missing dependencies to kmod-of-mdio
The samsung target builds of_mdio.ko as a module, add the needed
dependency to it.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-09-29 17:23:11 +02:00
Felix Fietkau
93db9a65da mac80211: fix management frame protection issue with mt76 (and possibly other drivers)
Software crypto wasn't working for management frames because the flag
indicating management frame crypto was missing

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-09-29 16:05:14 +02:00
Felix Fietkau
273594b37c mt76: update to latest, adds mt76x0u and mt76x2u support, fixes a mt7603 powersave issue
d220f43 Revert "mt76x2: reset HW before probe"
0853d79 Revert "mt76x2: add functions for setting extended MAC address registers"
8ba17b1 Revert "mt76: use a per rx queue page fragment cache"
3f0ac35 mt76x2: init: disable APCLI by default
38014de mt76x2: remove unnecessary break in mt76x2_mac_process_tx_rate()
fbf4791 mt76x2: fix TXD_INFO bitmask definition
d00c616 mt76x2: fix mrr idx/count estimation in mt76x2_mac_fill_tx_status()
0d42d22 mt76: introduce mt76_{incr,decr} utility routines
0f6379a mt76x2: dfs: add sw event ring buffer
df8071f mt76x2: dfs: add sw pattern detector
016df9c mt76x2: debugfs: add sw pulse statistics to dfs debugfs
a6915cb mt76: move MT_TXD_INFO, MT_MCU_MSG and MT_RX_FCE_INFO defs in dma.h
911e6aa mt76x2: move mt76x2_fw_header and mt76x2_patch_header definitions in mcu.h
c55d29b mt76x2: move utility routines in mt76x2.h
d08ea82 mt76x2: introduce mt76x2_init_device routine
6a1e809 mt76x2: move interface_modes definition in mt76x2_init
5aa0972 mt76x2: introduce mt76x2_mac_load_tx_status routine
730b86c mt76x2: add napi struct to mt76_rx_poll_complete/mt76_rx_complete signatures
1ab6cea mt76x2: add buffer len to mt76x2_mac_write_txwi signature
7ac6dac mt76: rename mt76_tx_queue_skb in mt76_dma_tx_queue_skb
66f3949 mt76: introduce tx_queue_skb function pointer in mt76_bus_ops
d099694 mt76: introduce mt76x2-common module
9bf1aa1 mt76: add mt76x2_tx_common to mt76x2-common module
29f960a mt76: add mt76x2_mac_common to mt76x2-common module
8f568ce mt76: add mt76x2_init_common to mt76x2-common module
61c4c61 mt76: add mt76x2_common to mt76x2-common module
264edbe mt76: add mt76x2_phy_common to mt76x2-common module
7625508 mt76: move mt76x2_debugfs in mt76-common module
99a3afa mt76: add usb support to mt76 layer
25b4598 mt76: add driver code for MT76x2u based devices
253c443 mt76x0: core files
6ed7bc2 mt76x0: mac files
a2c1068 mt76x0: usb files
c332481 mt76x0: mcu files
0d7d9ed mt76x0: phy files
5d50834 mt76x0: init files
c633654 mt76x0: eeprom files
18a9d4e mt76x0: trace and debugfs files
7395bba mt76x0: dma and tx files
08dec4c mt76x0: main file
5892efd mt76: add more states
e176af8 mt76: Kconfig and Makefile for mt76x0 driver
5c38d48 mt76x0: disable HW before probe
2f37f60 mt76x0: load firmware from mediatek subdir
1388140 mt76x0: rename mt76_* functions
1cb65d5 mt76x0: rename trace symbols
4fe2b16 mt76x0: correct type for eeprom gain value
560b643 mt76x0: perform mt76x0_mac_set_ampdu_factor
d1645aa mt76x0: Remove VLA usage
f8a0da4 mt76: Fix comparisons with invalid hardware key index
884eca5 mt76: unify wait_for_mac
fc636f0 mt76: rename mt76x2_regs.h
493feb9 mt76: merge mt76x0/regs.h into mt76x02_regs.h
a238099 mt76: create new mt76x02-lib module for common mt76x{0,2} code
55bceee mt76: unify mac_get_key_info
f6c19cf mt76: add helpers for register access with mt76_dev struct
34a95b8 mt76: unify mac_shared_key_setup
4286255 mt76: unify mt76x02_mac_wcid_set_key
732535e mt76: unify mac_wcid_setup
51b74ac mt76: use mac_wcid_set_drop in mt76x0
1b4a98f mt76x0: use mt76_wcid_free in mt76x0
fcf2130 mt76: unify mt76x02_vif struct
1f35eb5 mt76: unify sta structure part 1
086ea9f mt76: unify sta structure part 2
caff9a2 mt76x0: initalize custom tx queues
7362da7 mt76x0: use mt76x02_sta and mt76x02_tx_status
3a03aa1 mt76: move mt76_reg_pair definition in mt76.h
a853831 mt76: split __mt76u_mcu_send_msg and mt76u_mcu_send_msg routines
a80564f mt76: move mt76x2u_mcu_deinit routine in mt76-usb module
ac92496 mt76: add multiple regs read support to usb_mcu layer
8b0e08f mt76x0: use mt76u_init for bus initialization
ef32115 mt76x0: remove mt76x0_vendor_reset routine
949858f mt76x0: remove mt76x0_vendor_single_wr routine
21ecb9b mt76x0: remove mt76x0_mcu_msg_alloc routine
4cfeebb mt76x0: use shared mt76 usb mcu completion
2600712 mt76x0: remove mt76x0_complete_urb routine
0bd0fe8 mt76x0: remove mt76x0_vendor_request routine
f88bde2 mt76x0: remove unused mt76x0_wait_asic_ready routine
7eca333 mt76x0: use mt76u_mcu_send_msg utility routine to send fw cmds
8fedb79 mt76x0: remove unused mt76x0_mcu structure
e8fe4f3 mt76x0: use mt76u_mcu_fw_send_data for fw uploading
b9c46a8 mt76x0: remove unused routines for usb_buff alloc/free
ed3366d mt76: Enable NL80211_EXT_FEATURE_CQM_RSSI_LIST
9867146 mt76: verify evt type in usb mcu response
82a8c8a mt76: move wcid fields to common mt76_dev struct
f409c6b mt76: unify sta_add / sta_remove
d972ddd mt76: pratially unify add_interface
f8f5788 mt76x0: fix wrong usage of wcid_mask in remove_interface
380f89c mt76: unify ampdu_action
8c7098e mt76: unify set_key
2a20cfc mt76x0: remove empty sta_notify
a690333 mt76: unify AC to hw queue mapping
4453308 mt76: unify conf_tx
d9352cb mt76x0: remove vif_mask
196720e mt76: unify remove_interface
57c3e89 mt76: unify add_interface
91fce2f mt76: unify sta_rate_tbl_update and related helpers
3977f48 mt76: unify txwi and rxwi structures
41e0403 mt76: unify load_tx_status
4674502 mt76: unify send_tx_status and related helpers
02816b0 mt76: use mt76_rx_status in mt76x0
0a17b1e mt76: unify mac_process_rate
8aac175 mt76x0: reserve enough space in mac80211
81a655a mt76: unify {insert/remove}_hdr_pad
d8f7d2e mt76: partially unify filling txwi fields
3533718 mt76x2: change mt76x2_tx_complete routine signature
469aeb1 mt76: move mt76x2_tx_complete routine in mt76x02-lib module
87f138b mt76: move mt76x2u_remove_dma_hdr in mt76x02-lib module
c87a7e8 mt76: move mt76x2u_tx_complete_skb in mt76x02-lib moudule
b85e072 mt76: move mt76_qsel definition in dma.h
53b3c5a mt76: move mt76x2u_set_txinfo in mt76x02-lib module
34cec25 mt76x0: introduce mt76x0_tx_prepare_skb routine
6c5ac15 mt76: move mt76x2u_tx_status_data in mt76x02-lib module
0ba8261 mt76x0: init mt76_driver_ops callbacks
2615090 mt76x0: use mt76_alloc_device for device allocation
3c40eaf mt76x0: disable usb rx bulk aggregation
746edd7 mt76x0: mark device as running in mt76x0_start
dd77785 mt76x0: simplify mt76_mac_process_rx signature
3739601 mt76x0: add mt76x0_queue_rx_skb routine
062aaa8 mt76x0: unify tx/rx datapath with mt76x2u driver
85f171f mt76x0: stop stat workqueue at hw stop
8c68115 mt76x0: set max fragments size
ac02f5c mt76x0: remove unused dma.c source file
964df72 mt76x0: remove unused stat work_queue
afb34b8 mt76x0: remove unused {tx/rx}_queue definitions
a4fd791 mt76x0: remove unused mt76x0_tx_status routine
0e92ff6 mt76x0: remove unused endpoint definitions
8340e19 mt76x0: remove unused stat_work
bfbbf05 mt76x0: enable per-sta tx queueing
a8fcaa3 mt76x0: init hw capabilities
6a9b73c mt76x0: trim rx skb to proper length
aa0c279 mt76: remove unused MT76_MORE_STATS state
873d792 mt76x0: remove mt76x0_stop_hardware routine
246a216 mt76: move mt76 rate definitions in mt76x02-lib module
aae3fb8 mt76x0: alloc mcu buffers first in mt76x0_mcu_cmd_init
3c693a1 mt76x0: fix memory leak during hw probe
98faee1 mt76x0: move stop related routines in mt76x0_mac_stop
d07c02a mt76x0: move mt76x0_init_hardware in mt76x0_register_device
12c01f4 mt76x0: do not free/alloc buffers during suspend/resume
297cc34 mt76x0: remove has_{2,5}ghz fields of mt76x0_eeprom_params
2d77a9a mt76x0: use mt76_register_device for device registration
bb57912 mt76x0: inital split between pci and usb
3e241f3 mt76x0: remove unused mt76x0_wcid
a8c61c2 mt76x0: remove some usb specific code from mt76x0_register_device
e4a7387 mt76x0: make device allocation bus neutral
6da4642 mt76x0: run vco calibration for each channel configuration
1ac35da mt76: move mt76x0 and mt76x2 mcu shared defs in mt76x02_mcu.h
4d43674 mt76: add mt76_mcu_ops data structure for mcu related pointers
479b153 mt76: add usb implementation of {wr,rd}_rp
e525b01 mt76: add rd_rp and wr_rp to bus_ops/mcu_ops
f5590b0 mt76: usb: use common helpers for mcu_alloc_msg()/mcu_send_msg()
d2773ce mt76: usb: move mt76x02 mcu code in mt76x02-usb module
6337ffb mt76: usb: move mt76u_skb_dma_info in mt76x02_usb_core.c
5a79f17 mt76x02: move TXD/RXD/MCU definitions in mt76x02_dma.h
88ece32 mt76x02: add static qualifier to mt76x02_remove_dma_hdr
d63b72f mt76x0: remove unused mt76x0_burst_read_regs
0aef244 mt76x0: remove mt76x0_burst_write_regs()
14aaf87 mt76: usb: remove skb check in mt76x{0,2}u mcu routines
46ba81c mt76x2: use mt76_dev instead of mt76x2_dev in mt76x2_tx_queue_mcu
dbc4442 mt76x2: remove leftover mt76u_buf data structure in mt76x2_mcu
26909cd mt76: introduce mmio data structure in mt76_dev
425e7e0 mt76: move __iomem regs in mt76_mmio
28cfe61 mt76x2: use mt76_dev instead of mt76x2_dev in mt76x2_mcu_msg_send
a1e27de mt76x2: use common helpers for mcu_alloc_msg()/mcu_send_msg()
90b1eac mt76: unify firmware header between mt76x0 and mt76x2
a0cbd4b mt76: move mt76{0,2} mcu shared code in mt76x02_mcu.c
a633c61 mt76x2: move mt76x2 mcu shared code in mt76x2_mcu_common.c
ce91108 mt76: move shared mcu_calibrate routine in mt76x02-lib module
2b3b4df mt76x2: move mt76x2_phy_tssi_compensate in mt76x2-common module
39a380a mt76: use a per rx queue page fragment cache
b4a2141 mt76x2u: run device cleanup routine if resume fails
df11092 treewide: Use struct_size() for kmalloc()-family
788becd treewide: devm_kzalloc() -> devm_kcalloc()
971005a mt76x2u: Add support for Alfa AWUS036ACM
878b0bd mt76: fix debugfs_simple_attr.cocci warnings
44ed12d wireless: Use octal not symbolic permissions
a6f80ef build: make building 76x2e and 7603e optional
1047913 mt76x0: usb: move firmware loading to usb.c
26b20f8 mt76x0: remove mcu source file
44145f3 mt76x0: remove unused usb header file
d56be99 mt76x0: usb: remove mt76_fw definition
3733445 mt76x2: fix tx power configuration for VHT mcs 9
0aced80 mt76x0: pci: add mt7650 PCI ID
35e88c0 mt76x0: pci: add fw uploading routine
3991afa mt76: move seq_put_array in mt76-core module
6cf6fba mt76: add stbc entries to mt76_rate_power
4451f99 mt76: move common eeprom definitions in mt76x02-lib module
c9100cb mt76: move eeprom utility routines in mt76x02_eeprom.h
611b8c7 mt76: move mt76x2_eeprom_get in mt76x02_eeprom.h
b59ed56 mt76: move mt76x02_mac_setaddr in mt76x02-lib module
844daeb mt76: move mt76x2_get_efuse_data in mt76x02-lib module
7556cb9 mt76: move mt76x2_ext_pa_enabled routine in mt76x02_eeprom.c
19d7853 mt76x0: remove mt76x0_set_country_reg routine
ba7a3da mt76: add mt76x02_get_rx_gain and mt76x02_get_lna_gain utility routines
35b0a2a mt76x0: unify lna_gain parsing
2a470db mt76x0: unify rssi_offset parsing
fe89537 mt76x0: unify temperature offset parsing
76bc22f mt76x0: unify freq offset parsing
bedeb3d mt76: move mt76x02_eeprom_parse_hw_cap in mt76x02-lib module
1adcd39 mt76x0: unify parse hw capabilities
df23620 mt76: move mt76x2_tssi_enabled in mt76x02_eeprom.h
ebca136 mt76: usb: remove WARN_ON in mt76u_get_rx_entry_len
cf8f750 mt76: fix return value of mt76x02_wait_for_mac
f802bd5 mt76: move mt76_rate_power in mt76_dev
4b6093c mt76: add mt76x02_phy_set_txpower utility routine
c206b8c mt76: move rate_txpower handler in mt76 debugfs
4da6fd3 mt76: move mt76x02_rate_power_val in mt76x02-lib module
fb3806d mt76x0: remove mt76x0_phy_set_tx_power and mt76x0_extra_power_over_mac
730db56 mt76x0: remove eeprom dependency from mt76x0_set_tx_power_per_rate
212fa2c mt76x0: remove eeprom dependency from mt76x0_get_power_info
280e452 mt76x0: use shared debugfs implementation
21fddc3 mt76x0: phy: introduce mt76x0_phy_set_txpower routine
b0d85d4 mt76: include linux/module.h in files using MODULE_*
a47083b mt76: report firmware version using ethtool
dc66f7c mt76: usb: make rx page_frag_cache access atomic
09d696b mt76: use skb_pad() instead of __skb_pad()
e8d7890 mt76x0: add quirk to disable 2.4GHz band for Archer T1U
e76fe15 mt76x2: disable WLAN core before probe
41c552f mt76x0: work around cflags issue in compat layer for trace.h
b95bc8a mt76x0: use mt76_poll in mt76x0_set_wlan_state
3a3554a mt76: move wait_for_wpdma in mt76x02_dma.h
0527feb mt76: add mt76x02_dma_enable/mt76x02_dma_disable utility routines
a8fda4b mt76: move mt76x02_set_irq_mask in mt76x02_mmio.c
11e3028 mt76: move queue initialization in mt76x02_mmio.c
5a29094 mt76: move mt76x02_beacon_offset in mt76x02_util.c
5f1d0ff mt76: mmio: add implementation of wr_rp and rd_rp
47eee35 mt76: move mt76x2_wait_for_bbp in mt76x02-lib module
7cc4be7 mt76x0: update initvals to latest version of vendor driver
e1a2179 mt76x0: pci: move mcu code in pci_mcu.c
886f6fc mt76x0: usb: move mcu code in usb_mcu.c
c7b28f4 mt76x0: use mt76x02 utility routines in mt76x0 init code
005d40a mt76x0: init: remove duplicated initialization
94776fe mt76x0: init: remove MT_PBF_SYS_CTRL configuration in mt76x0_reset_csr_bbp
5bb8339 mt76x0: init rx filter in mt76x0_init_hardware
fe1379a mt76: add mt76x02_mac_start routine
da982d3 mt76x0: usb: move initialization code in usb.c
22be43e mt76x0: pci: add hw initialization at bootstrap
15a50e1 mt76x0: phy: set antenna parameter according to wireless band
5d2a331 mt76: move set_{tx,rx}_path routines in mt76x02-lib module
8050d71 mt76x0: add ieee80211_ops ops pointer to mt76x0_alloc_device signature
c240904 mt76x0: pci: add mt76x0e_{start/stop} callbacks
b50f38a mt76x0: eeprom: load eeprom data from mtd by default
fb5bae0 mt76x0: usb: move mt76x0u_tx_prepare_skb in usb.c
4047e1f move mt7603 source files to mt7603/
14f70f4 mt7603: fix wcid for frames sent via drv_tx
542f17e mt76: fix handling ps-poll frames
7464cc9 mt76: check aggregation sequence number for frames sent via drv_tx

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-09-29 13:29:46 +02:00
Hauke Mehrtens
b47a9cd4ba ath10k-ct: fix bandwidth conversion bug
This backports a patch from the upstream kernel which was also shipped
previously in mac80211.
This fixes the following warning:
WARNING: CPU: 0 PID: 2881 at backports-4.19-rc5-1/net/wireless/util.c:1146 cfg80211_calculate_bitrate+0x238/0x348 [cfg80211]
invalid rate bw=2, mcs=0, nss=1

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-09-28 23:05:43 +02:00
Ansuel Smith
39a9620547 ath10k-ct: adds leds support
This rework and adds patch from ath10k source to make leds work also on candela source

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2018-09-28 22:47:21 +02:00
Hauke Mehrtens
92a96dd662 mac80211: fix ipw200 build with kernel < 4.10
The __change_mtu() function is only compiled when
CPTCFG_IPW2200_PROMISCUOUS is set, more it to the general area.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-09-28 21:40:11 +02:00
Hauke Mehrtens
2a64c7ea74 mac80211: Use backports-4.19-rc5-1.tar.xz
This is an official release with some minor changes compared to the
unofficial 4.19-rc4-1 we used before.
* added bcma and ssb again, which is removed in OpenWrt
* fix to build with kernel 4.19
* other minor fixes not relevant for Openwrt.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-09-27 00:22:06 +02:00
Hauke Mehrtens
c662299bf9 ath10k-ct: update to version ath10k-4.16
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-09-26 16:39:45 +02:00
Hauke Mehrtens
4fcbad1aa0 mac80211: fix compile warning in 986-rt2x00-add-TX-LOFT-calibration.patch
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-09-26 16:39:44 +02:00
Hauke Mehrtens
ec684ce193 mac80211: Add patches which were added later
These patches were added after the new matches structure for the
mac80211 package was created. All the deleted patches are already
integrated in kernel 4.19-rc4.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-09-26 16:39:44 +02:00
Hauke Mehrtens
db90c243a0 mac80211: update to version based on 4.19-rc4
This updates mac80211 to backports based on kernel 4.19-rc4.

I plan to integrate all the patches which are in this tar into upstream
backports soon.

I used the backports generated from this code:
https://github.com/hauke/backports/commits/wip2

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-09-26 16:39:44 +02:00
Daniel Golle
de1c58a64b mac80211: rt2x00: add experimental patches from Stanislaw Gruszka
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2018-09-26 16:39:44 +02:00
Daniel Golle
c837c41a76 mac80211: rt2x00: remove obsolete patch
According to Stanislaw Gruszka the patch
    600-23-rt2x00-rt2800mmio-add-a-workaround-for-spurious-TX_F.patch
should be dropped.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2018-09-26 16:39:44 +02:00
Tomislav Požega
d449233fd2 mac80211: rt2x00: add TX LOFT calibration
Add TX LOFT calibration from mtk driver.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
2018-09-26 16:39:44 +02:00
Tomislav Požega
5d1620f29c mac80211: rt2x00: add RXIQ calibration
Add RXIQ calibration found in mtk driver. With old openwrt builds this gets us ~8Mbps more of RX bandwidth (test with iPA/eLNA layout).
Please try if this makes any difference among various board/RF layouts.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
2018-09-26 16:39:43 +02:00
Tomislav Požega
e125b6abb2 mac80211: rt2x00: add RXDCOC calibration
Add RXDCOC calibration code from mtk driver. Please try if this makes any difference among various board/RF layouts.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
2018-09-26 16:39:43 +02:00
Tomislav Požega
061541f207 mac80211: rt2x00: add r calibration
Add r calibration code as found in mtk driver.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
2018-09-26 16:39:43 +02:00
Tomislav Požega
66929e3414 mac80211: rt2x00: add RF self TXDC calibration
Add TX self calibration based on mtk driver.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
2018-09-26 16:39:43 +02:00
Tomislav Požega
6044682b83 mac80211: rt2x00: write registers required for reducing power consumption
Write registers required for reducing power consumption like the vendor
driver does when ADJUST_POWER_CONSUMPTION_SUPPORT is set.
This helps devices to sync at better TX/RX rates and improves overall
performance.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[daniel@makrotopia.org: edited commit message]
2018-09-26 16:39:39 +02:00
John Crispin
d9eefa7a70 mac80211: rebase ontop of v4.18.5
Signed-off-by: John Crispin <john@phrozen.org>
2018-09-26 16:35:33 +02:00
Mauro Mozzarelli
9f105ce8c8 kernel: netfilter: add IPVS kernel module support
IPVS (IP Virtual Server) implements transport-layer load balancing inside
the Linux kernel, so called Layer-4 switching. IPVS running on a host acts
as a load balancer at the front of a cluster of real servers, it can direct
requests for TCP/UDP based services to the real servers, and makes services
of the real servers to appear as a virtual service on a single IP address.

This change adds the following kmod packages
- kmod-nf-ipvs
- kmod-nf-ipvs-ftp
- kmod-nf-ipvs-sip

Signed-off-by: Mauro Mozzarelli <mauro@ezplanet.org>
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2018-09-24 21:44:37 +01:00
Hartmut Knaack
d3a492c72f kernel: add Si7020 relative humidity/temperature sensor driver
Add support for the Silicon Labs Si7020 family of relative humidity and
temperature sensors using the I2C bus.

Signed-off-by: Hartmut Knaack <knaack.h@gmx.de>
2018-09-22 21:20:55 +02:00
Hartmut Knaack
265dcb05ea kernel: add TSL4531 ambient light sensor driver
Add support for the TAOS TSL4531x family of ambient light sensors using
the I2C bus.

Signed-off-by: Hartmut Knaack <knaack.h@gmx.de>
2018-09-22 21:20:55 +02:00
Felix Fietkau
a32a70f4f2 ath9k: add back support for using tx99 with active monitor interfaces
Fixes controlling bitrate

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-09-22 18:41:38 +02:00
Felix Fietkau
7decdf923a mac80211: fix tx queue allocation for active monitor interfaces
Fixes a crash with drivers like ath9k

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-09-22 18:41:36 +02:00
Felix Fietkau
a6beca1f56 mt76: fix tx power issue for mt76x2
6e1898d mt76x2: fix tx power configuration for VHT mcs 9

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-09-22 12:56:18 +02:00
Jonathan Lancett
95b3f8ec8d mwlwifi: driver version to 10.3.8.0-20180920
Signed-off-by: Jonathan Lancett <j.lancett@ntlworld.com>
[minor tweak to commit title]
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-09-20 21:03:48 +01:00
Felix Fietkau
ccab68f2d3 ath9k: fix unloading the module
Registering a GPIO chip with the ath9k device as parent prevents unload,
because the gpiochip core increases the module use count.
Unfortunately, the only way to avoid this at the moment seems to be to
register the GPIO chip without a parent device

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-09-20 10:08:17 +02:00
Rosen Penev
39d8b2cf79 trelay: Install hotplug and config files as 600
The hotplug file is ran by procd, which runs as root. The config file is
used by the init script, which also runs as root.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2018-09-19 09:41:28 +01:00
Rafał Miłecki
b3d441c5f7 mac80211: brcmfmac: backport CYW89342 support & fixes from 4.20
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-09-12 08:40:24 +02:00
Kevin Darbyshire-Bryant
66fd41ba79 kmod-sched-cake: fix 6in4/gso performance issue
Bump to latest upstream cake:

Add workaround for wrong skb->mac_len values after splitting GSO

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-09-12 05:34:44 +01:00
Rafał Miłecki
ffa80bf5a7 mac80211: add iw command wrapper with error logging
Currently it's close to impossible to tell what part of mac80211 setup
went wrong. Errors logged into system log look like this:
radio0 (6155): command failed: No error information (-524)
radio0 (6155): command failed: Not supported (-95)
radio0 (6155): command failed: I/O error (-5)
radio0 (6155): command failed: Too many open files in system (-23)

With this commit change it's getting clear:
command failed: No error information (-524)
Failed command: iw dev wlan0 del
command failed: Not supported (-95)
Failed command: iw phy phy0 set antenna_gain 0
command failed: I/O error (-5)
Failed command: iw phy phy0 set distance 0
command failed: Too many open files in system (-23)
Failed command: iw phy phy0 interface add wlan0 type __ap

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-09-10 09:03:09 +02:00
Koen Vandeputte
77024a9d95 mac80211: backport upstream fixes
Backport most significant upstream fixes (excl. hwsim fixes)
Refreshed all patches.

Contains important fixes for CSA (Channel Switch Announcement)
and A-MSDU frames.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-09-07 17:21:24 +02:00
Kevin Darbyshire-Bryant
721dfd4eb8 kmod-sched-cake: bump to 20180827
Expand filter flow mapping to include hosts as well

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
(cherry picked from commit d14ffdc307d36bd9abe908b46ff7baece54c9551)
2018-08-31 15:30:27 +07:00
Stijn Tintel
616b972920 ath10k-ct: bump to git HEAD
e0d2ce0 ath10k:  Support setting tx_antenna in descriptor field.
29c644f Update to latest 4.13 and 4.16 ath10k-ct drivers.
20db9db ath10k:  Support vdev stats for 4.9, 4.16  kernel
fd92066 ath10k:  Support 'ct-sta-mode' for 9984 firmware that supports it.
34954f0 ath10k:  get_tsf, PMF

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-08-26 18:40:46 +03:00
Felix Fietkau
d9792152fd ath9k: fix setting up tx99 with a monitor mode interface
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-08-25 19:18:08 +02:00
Hauke Mehrtens
e882e63f1e kernel: add missing dependency to regmap to kmod-gpio-mcp23s08
This fixes a build problem recently introduced.

Fixes: a904003b9b ("kernel: fix kmod-gpio-mcp23s08 for linux 4.14")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-08-25 18:18:35 +02:00
Keith Wong
79c233daa4 kernel: add kmod-tcp-bbr
This adds support for BBR (Bottleneck Bandwidth and RTT) TCP
congestion control. Applications (e.g. webservers, VPN client/server)
which initiate connections from router side can benefit from this.

This provide an easier way for users to use BBR by selecting /
installing kmod-tcp-bbr instead of altering kernel config and
compiling firmware by themselves.

Signed-off-by: Keith Wong <keithwky@gmail.com>
2018-08-25 15:40:24 +02:00
Antonio Silverio
672c430d6e mac80211: mwl8k: Expand non-DFS 5G channels
Add non-DFS 5G upper channels (149-165) besides existed 4 lower channels
(36, 40, 44, 48).

Signed-off-by: Antonio Silverio <menion@gmail.com>
2018-08-25 15:40:23 +02:00
Martin Schiller
a904003b9b kernel: fix kmod-gpio-mcp23s08 for linux 4.14
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2018-08-25 15:33:52 +02:00
Felix Fietkau
b6adfde0c6 mt76: update to the latest version
7daf962 mt7603: add survey support
980c606 mt7603: add fix for CCA signal configuration
30b8371 mt7603: fix BAR rate

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-08-24 21:33:54 +02:00
Daniel Engberg
e1a1add517 mwlwifi: Update to 10.3.8.0-20180810
Update mwlwifi to 10.3.8.0-20180810

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2018-08-21 07:44:37 +02:00
Jo-Philipp Wich
93ac8b03b0 Revert "netfilter: separate IPv6 relevant kernel modules from IPv4"
This reverts commit 42a3c6465a.

The change was apparently never build-tested with all kmods enabled. I took
a brief look but found no simple way to untangle this, so revert it.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-08-06 19:46:37 +02:00
Rosy Song
42a3c6465a netfilter: separate IPv6 relevant kernel modules from IPv4
Signed-off-by: Rosy Song <rosysong@rosinson.com>
2018-08-06 12:09:04 +02:00
Christian Lamparter
3fce12568a kernel: modules: fix kmod-regmap redux
Jonas Gorski commented on the previous patch:
|This is actually the wrong fix and papers over an issue in one of our
|local patches.
|
|We intentionally allow regmap to be built as a module, see
|
|/target/linux/generic/hack-4.14/259-regmap_dynamic.patch
|[...]
|[The regulator code] optionally supports regmap thanks to the stubs
|provided if regmap is disabled - which breaks if you compile regmap
|as a module.

In order to mitigate this issue, this patch reverts the previous patch
and replaces the existing IS_ENABLED(CONFIG_REGMAP) with
IS_REACHABLE(CONFIG_REGMAP). This solves this particular issue as the
regulator code will now automatically fallback to the regmap stubs in
case the kmod-regmap module is enabled, but nothing else sets
CONFIG_REGMAP=y.

Note: There's still a potential issue that this patch doesn't solve:
If someone ever wants to make a OpenWrt kernel package for a
regulator module that requires the REGMAP feature for a target that
doesn't set CONFIG_REGMAP=y but has CONFIG_REGULATOR=y, the resulting
kmod-regulator-xyz package will not work on the target.
Luckily, there aren't any in-tree OpenWrt kernel module packages for
regulators at the moment. On the bright side: regmap is a critical
part nowadays and all new and upcoming architectures require it by
default. This will likely only ever be a problem for legacy targets
and devices that cannot afford to enable REGMAP.

Cc: Jonas Gorski <jonas.gorski@gmail.com>
Cc: John Crispin <john@phrozen.org>
Fixes: d00913d121 ("kernel: modules: fix kmod-regmap")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-08-06 07:17:12 +02:00
Kevin Darbyshire-Bryant
4f3c9a63b2 kmod-sched-cake: bump to 20180728 optional gso split
Follow upstream kernel patch that restores always splitting gso packets
by default whilst making the option configurable from (tc) userspace.

No ABI/API change

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-08-02 22:00:19 +01:00
Rafał Miłecki
fecbd91c7c mac80211: brcmfmac: backport patch for per-firmware features
This allows driver to support features that can't be dynamically
discovered.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-07-31 09:45:03 +02:00
Christian Lamparter
d00913d121 kernel: modules: fix kmod-regmap
This patch fixes the a compile issue that was triggered by
apm821xx/sata when kmod-regmap was selected.

The CONFIG_REGMAP is declared in drivers/base/regmap/Kconfig
as type "bool" and not "tristate". Hence the symbol should
never be set to module, as this confuses the #if CONFIG_REGMAP
guards in include/linux/regmap.h:

|.../drivers/regulator/core.c:4041: undefined reference to `dev_get_regmap'
|.../drivers/regulator/core.c:4042: undefined reference to `dev_get_regmap'
|.../drivers/regulator/core.c:4044: undefined reference to `dev_get_regmap'
|.../drivers/regulator/helpers.o: In function `regulator_is_enabled_regmap':
|.../drivers/regulator/helpers.c:36: undefined reference to `regmap_read'
|...

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-07-30 22:37:22 +02:00
Sven Eckelmann
ef39d0079b mac80211: ath10k: Limit available channels via DT ieee80211-freq-limit
Tri-band devices (1x 2.4GHz + 2x 5GHz) often incorporate special filters in
the RX and TX path. These filtered channel can in theory still be used by
the hardware but the signal strength is reduced so much that it makes no
sense.

There is already a DT property to limit the available channels but ath10k
has to manually call this functionality to limit the currrently set wiphy
channels further.

Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
2018-07-30 20:46:13 +02:00
Torbjörn Jansson
af9a96d23e kernel: add kmod-iio-htu21
This adds support for the htu21 humidity and temperature sensor.

To get it to work you have to do something like this:
echo "htu21 0x40" >/sys/class/i2c-dev/i2c-1/device/new_device
for example by adding it to rc.local

Compile tested on brcm2708 and I have used an earlier version of this
patch for more than a year.

Signed-off-by: Torbjörn Jansson <torbjorn.jansson@mbox200.swipnet.se>
2018-07-30 19:34:43 +02:00
Jo-Philipp Wich
3083962dd4 ath10k-ct: fix build with current mac80211 package
Commit 2dcd955aea ("mac80211: backport and update patches for ath10k")
changed the DFS detector API, causing ath10k-ct to fail building due to
a missing add_pulse() argument.

Extend the already existing kernel compatibility patch to also adjust
the add_pulse() call accordingly.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-07-30 15:03:44 +02:00
Daniel Gimpelevich
c762817c92 kernel: package x86-optimized crypto-misc modules
Some of the modules in the crypto-misc package have alternate
implementations optimized for different x86 instruction set extensions,
but only one of these was built for this package until now: twofish-i586.ko

Tested with insmod, on both x86 and x86_64. The modules now have an
autoload, which they previous didn't, loading the dependencies in the
correct order.

Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
2018-07-30 10:43:38 +02:00
Rosy Song
b4d4e4ceb5 include: add netdev family support for nftables
Signed-off-by: Rosy Song <rosysong@rosinson.com>
2018-07-30 10:43:37 +02:00
Rafał Miłecki
c0608c6a27 mac80211: brcmfmac: backport 4.19 patches preparing monitor mode support
Monitor mode isn't supported yet with brcmfmac, it's just an early work.
This also prepares brcmfmac to work stable with new firmwares which use
updated struct for passing STA info.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-07-27 08:04:14 +02:00
Rafał Miłecki
b26214adb5 mac80211: backport brcmfmac fixes & debugging helpers from 4.18
The most important is probably regression fix in handling platform
NVRAM. That bug stopped hardware from being properly calibrated breaking
e.g. 5 GHz for Netgear R8000.

Other than that it triggers memory dumps when experiencing firmware
problems which is important for debugging purposes.

Fixes: 7e8eb7f309 ("mac80211: backport brcmfmac firmware & clm_blob loading rework")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-07-26 23:21:46 +02:00
Ansuel Smith
2dcd955aea mac80211: backport and update patches for ath10k
This commit refreshes and updates the VHT160 ath10k support fix patches
and adds a number of backports from ath-next:

 * 8ed05ed06fca ath10k: handle tdls peer events
 * 229329ff345f ath10k: wmi: modify svc bitmap parsing for wcn3990
 * 14d65775687c ath10k: advertise TDLS wider bandwidth support for 5GHz
 * bc64d05220f3 ath10k: debugfs support to get final TPC stats for 10.4 variants
 * 8b2d93dd2261 ath10k: Fix kernel panic while using worker (ath10k_sta_rc_update_wk)
 * 4b190675ad06 ath10k: fix kernel panic while reading tpc_stats
 * be8cce96f14d ath10k: add support to configure channel dwell time
 * f40105e67478 ath: add support to get the detected radar specifications
 * 6f6eb1bcbeff ath10k: DFS Host Confirmation
 * 260e629bbf44 ath10k: fix memory leak of tpc_stats
 * 38441fb6fcbb ath10k: support use of channel 173
 * 2e9bcd0d7324 ath10k: fix spectral scan for QCA9984 and QCA9888 chipsets

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[move backported patches in the 3xx number space, bring in upstream order,
 replace incomplete patch files with git format-patch ones, rewrite commit
 message, fix subject]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-07-22 22:25:33 +02:00
Steffen Förster
1ef65ceeaf kernel: insmod phy-broadcom module during preinit
Some HP Thin clients use the broadcom nextreme chip as integrated NIC.
It is connected via PCI express and will only be found automatically if
phy-broadcom is loaded before tg3. This small change makes the thin
client usable for Freifunk with gluon out of the box.

Signed-off-by: Steffen Förster <steffen@chemnitz.freifunk.net>
2018-07-16 15:12:18 +02:00
Lukas Mrtvy
f21bcb4db8 kernel: leds-apu2 remove boardname check
'In different versions of coreboot are different names of apu boardname.
No need to check boardname to load module.'

Signed-off-by: Lukas Mrtvy <lukas.mrtvy@gmail.com>
2018-07-16 15:12:17 +02:00
Kevin Darbyshire-Bryant
c729c43b39 kmod-sched-cake: bump to 20180716
Bump to the latest cake recipe.

This backports tc class support to kernel 4.9 and other than conditional
kernel compilation pre-processor macros represents the cake that has
gone upstream into kernel 4.19.  Loud cheer!

Fun may be had by changing cake tin classification for packets on
ingress. e.g.

tc filter add dev ifb4eth0 parent 800b: protocol ip u32 match \
ip dport 6981 0xffff action skbedit priority 800b:1

Where 800b: represents the filter handle for the ifb obtained by 'tc
qdisc' and the 1 from 800b:1 represents the cake tin number.  So the
above example puts all incoming packets destined for port 6981 into the
BULK (lowest priority) tin.

f39ab9a Obey tin_order for tc filter classifiers
1e2473f Clean up after latest backport.
82531d0 Reorder includes to fix out of tree compilation
52cbc00 Code style cleanup
6cdb496 Fix argument order for NL_SET_ERR_MSG_ATTR()
cab17b6 Remove duplicate call to qdisc_watchdog_init()
71c7991 Merge branch 'backport-classful'
32aa7fb Fix compilation on Linux 4.9
9f8fe7a Fix compilation on Linux 4.14
ceab7a3 Rework filter classification
aad5436 Fixed version of class stats
be1c549 Add cake-specific class stats
483399d Use tin_order for class dumps
80dc129 Add class dumping
0c8e6c1 Fix dropping when using filters
c220493 Add the minimum class ops
5ed54d2 Start implementing tc filter/class support

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-07-16 13:55:58 +01:00
Felix Fietkau
4e56af5ab4 mt76: update to the latest version
08719b1 mt76: use a per rx queue page fragment cache
4d2c565 mt76x2: reset HW before probe
f622975 mt76x2: fix CCK protection control frame rate
6780375 mt76x2: add frame protection support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-07-13 16:36:56 +02:00
Lukáš Mrtvý
d3b8e6b2a7 kernel: gpio-nct5104d remove boardname check
'In different versions of coreboot are different names of apu boardname.
No need to check boardname to load module.'

Signed-off-by: Lukáš Mrtvý <lukas.mrtvy@gmail.com>
2018-07-12 08:51:27 +02:00
Koen Vandeputte
8b42a260ed mac80211: Expose support for ath9k Dynack
Enables support for Dynack feature.

When a remote station is far away, we need to compensate for the distance
by allowing more time for an ACK to arrive back before issueing a retransmission.
Currently, it needs to be set fixed to indicate the maximum distance the remote
station will ever be.

While this mostly works for static antennae, it introduces 2 issues:
- If the actual distance is less, speed is reduced due to a lot of wates wait-time
- If the distance becomes greater, retries start to occur and comms can get lost.

Allowing to set it dynamically using dynack ensures the best possible tradeoff
between speed vs distance.

This feature is currently only supported in ath9k.
it is also disabled by default.

Enabling it can be done in 2 ways:
- issue cmd:  iw phy0 set distance auto
- sending the NL80211_ATTR_WIPHY_DYN_ACK flag to mac80211 driver using netlink

Disabling it can be done by providing a valid fixed value.

To give an idea of a practical example:

In my usecase, we have mesh wifi device installed on ships/platforms.
Currently, the coverage class is set at 12000m fixed.

When a vessel moved closer (ex. 1500m), the measured link capacity was a lot
lower compared to setting the coverage class fixed to 1500m

Dynack completely solved this, nearly providing double the bandwidth at closer range
compared to the fixed setting of 12000m being used.

Also when a vessel sailed to a distance greater than the fixed setting,
communication was lost as the ACK's never arrived within the max allowed timeframe.

Actual distance: 6010m
iperf 60s run avg

Fixed 12150m:  31 Mbit/s
Dynack:        58 Mbit/s

Fixed 6300m:   51 Mbit/s
Dynack:        59 Mbit/s

Fixed 3000m:   13 Mbit/s  (lots of retries)
Dynack:        58 Mbit/s

Actual distance: 1504m
iperf 60s run avg

Fixed 12150m:  31 Mbit/s
Dynack:        86 Mbit/s

Fixed 6300m:   55 Mbit/s
Dynack:        87 Mbit/s

Fixed 3000m:   67 Mbit/s
Dynack:        87 Mbit/s

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-07-11 16:23:51 +02:00
Sven Eckelmann
87493dac11 mac80211: initialize sinfo in cfg80211_get_station
Most of the implementations behind cfg80211_get_station will not initialize
sinfo to zero before manipulating it. For example, the member "filled",
which indicates the filled in parts of this struct, is often only modified
by enabling certain bits in the bitfield while keeping the remaining bits
in their original state. A caller without a preinitialized sinfo.filled can
then no longer decide which parts of sinfo were filled in by
cfg80211_get_station (or actually the underlying implementations).

cfg80211_get_station must therefore take care that sinfo is initialized to
zero. Otherwise, the caller may tries to read information which was not
filled in and which must therefore also be considered uninitialized. In
batadv_v_elp_get_throughput's case, an invalid "random" expected throughput
may be stored for this neighbor and thus the B.A.T.M.A.N V algorithm may
switch to non-optimal neighbors for certain destinations.

Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
2018-07-07 18:33:57 +02:00
Sven Eckelmann
1c01e02575 ath10k-ct: search DT for BDF variant info
Board Data File (BDF) is loaded upon driver boot-up procedure. The right
board data file is identified on QCA4019 using bus, bmi-chip-id and
bmi-board-id.

The problem, however, can occur when the (default) board data file cannot
fulfill the vendor requirements and it is necessary to use a different
board data file.

This problem was solved for SMBIOS by adding a special SMBIOS type 0xF8.
Something similar has to be provided for systems without SMBIOS but with
device trees. No solution was specified by QCA and therefore a new one has
to be found for ath10k.

The device tree requires addition strings to define the variant name

    wifi@a000000 {
    	status = "okay";
    	qcom,ath10k-calibration-variant = "RT-AC58U";
    };

    wifi@a800000 {
    	status = "okay";
    	qcom,ath10k-calibration-variant = "RT-AC58U";
    };

This would create the boarddata identifiers for the board-2.bin search

 *  bus=ahb,bmi-chip-id=0,bmi-board-id=16,variant=RT-AC58U
 *  bus=ahb,bmi-chip-id=0,bmi-board-id=17,variant=RT-AC58U

Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2018-07-07 18:33:57 +02:00
Florian Eckert
c79ef6fbe3 linux: update license tag to use correct SPDX tag
Use SPDX tag.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2018-07-07 16:12:03 +02:00
Kevin Darbyshire-Bryant
4bd4ece9ea kmod-sched-cake: bump to latest 20180706
Fixes a potential infinite loop bug when in unlimited (ie not using
built in shaper) mode.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-07-07 11:10:59 +01:00
Kevin Darbyshire-Bryant
abeae38dbb kmod-sched-cake: bump to latest cake
This bumps to the latest & possibly greatest cake, sadly it's still
inedible but from an SQM point of view quite tasty :-)

Main tweaks since previous bump, improved ack_filter, some extra stats,
support for 64bit netlink parameters (higher rates/byte counters)

0520a6c Fix NAT option handling
8da93e1 Make sure we always call qdisc_watchdog_init() in cake_init()
f65daf6 Fix mismatched parenthesis
51d4ab3 Change flag handling to be safe even when mixing with non-eligible ACKs
f2ea091 ack_filter: protect DCTCP with stricter filtering of ECE marks
28b4560 ACK filter: Handle wrapping sequence numbers and DSACKs
73f62d9 Use the right PAD attribute for options
5969c14 Use 32 for tin backlog
e289f31 Move all the u64 netlink attributes together
36180a0 Check ACK seqno before parsing SACKs
91bbc01 Merge branch 'mine' into cobalt
58c55ec Rework SACK check to compare the ranges of two SACKs
9a5d593 ack_filter: Add proper handling of SACKs
eca95d4 ack_filter: short-circuit TCP flag check
d50a246 compat: backport some ktime functions
7b7ad11 compat: define tcpopt_fastopen for pre-4.1 kernels
ca54cdb Fix ktime compare
9d7dcc0 ack filter: Parse TCP options and only drop safe ones
b119882 Return EOPNOTSUPP on NAT option if conntrack is not available
842d7f0 Don't try to pad stats with tin_stats padding
bd46dc2 Use 64-bit divide helper
8e41bf0 Make sure we never drop SACKs when filtering ACKs
66e5d60 Avoid comparing ktime_t to scalar values
7fab017 Actually commit the ktime_t changes
fca6d13 Switch to ktime_t and get rid of cobalt.h
6f7e5af Can't use do_div with 64-bit divisors

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-07-03 11:40:18 +01:00
John Crispin
d8981133b2 mac80211: make rtl8xxxu buils again
we only wanted to drop rtl8xxxue support

Signed-off-by: John Crispin <john@phrozen.org>
2018-06-26 16:00:33 +02:00
John Crispin
66c5696cdf mac80211: rtl8xxxu: drop support patches
After a very enlightening but unfortunately far too short exchange with Jes
we mutually agreed to drop the patches. They are unfortunately not ready
yet.

Acked-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: John Crispin <john@phrozen.org>
2018-06-26 15:45:30 +02:00
Alin Nastac
ab07ae2f27 netfilter: add bpf match support
Add xt_bpf modules to {kmod-ipt,iptables-mod}-filter.

Match using Linux Socket Filter. Expects a BPF program in decimal
format. This is the format generated by the nfbpf_compile utility.

Signed-off-by: Alin Nastac <alin.nastac@gmail.com>
2018-06-26 08:57:25 +02:00
Stijn Tintel
34e22653ac mac80211: enable ath10k LED support by default
Commit 61d57a2f88 adds ath10k LED
support, but doesn't add an option to actually enable it.

After enabling this option, a LED named ath10k-phy0 appears in sysfs,
and a trigger can be assigned to it. Since 60deb3cdef the default set
trigger is the tpt one.

Enable it by default, as most devices using ath10k chips shouldn't be
severely space-constrained. There are likely many devices that can
benefit from having it enabled, like my testing device.

Before:
   text    data     bss     dec     hex filename
 245311    8899      16  254226   3e112 ath10k_core.ko

After:
   text    data     bss     dec     hex filename
 245979    8899      16  254894   3e3ae ath10k_core.ko

Tested on a D-Link DAP-2695-A1 (ar71xx).

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-06-25 22:00:05 +02:00
Mathias Kresin
60deb3cdef mac80211: ath10k: use tpt LED trigger by default
Use the tpt LED trigger for each created phy led. Ths way LEDs attached
to the ath10k GPIO pins are indicating the phy status and blink on
traffic.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-06-25 20:52:18 +02:00
John Crispin
cac1a4be66 mac80211: drop 355-ath9k-limit-retries-for-powersave-response-frames.patch
several people reported this bug to be causing drop out issues

Signed-off-by: John Crispin <john@phrozen.org>
2018-06-22 09:43:56 +02:00
Ansuel Smith
134e832814 mac80211: ath10k fix vht160 firmware crash
When the 160mhz width is selected the ath10k firmware crash. This fix this problem.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2018-06-22 09:31:32 +02:00
Ansuel Smith
61d57a2f88 mac80211: ath10k add leds support
This adds support for leds handled by the wireless chipset.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2018-06-22 09:31:32 +02:00
Stijn Tintel
f9a42ae2d7 kernel: define THERMAL_EMERGENCY_POWEROFF_DELAY_MS
Enabling CONFIG_ATH10K_THERMAL on targets that don't have CONFIG_THERMAL
enabled in their kernel config causes build to fail due to missing
symbol THERMAL_EMERGENCY_POWEROFF_DELAY_MS. Add it to kmod-thermal.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-06-21 20:02:22 +03:00
Daniel Golle
a704a2c06f ltq-vdsl-fw: fix ltq-vdsl-vr9-vectoring-fw-installer package install
The package is not being generated otherwise, which is fatal because
it is part of the subtargets default package set...

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2018-06-21 12:00:12 +02:00
Felix Fietkau
4fb27cc9d8 mt76: update to the latest version
1d4ca10 mt76x2: track rssi for gain adjustment per station

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-06-21 11:19:05 +02:00
Daniel Golle
3d20bee2cd ltq-vdsl-fw: add meaningful version information
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2018-06-20 14:39:22 +02:00
Daniel Golle
512c57e7f3 ltq-vdsl-fw: add nonshared flag
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2018-06-19 17:57:06 +02:00
Kabuli Chana
0845a34666 mwlwifi: update to version 10.3.8.0-20180615
fix mcs rate for HT
support 88W8997
protect rxringdone

Signed-off-by: Kabuli Chana <newtownBuild@gmail.com>
2018-06-19 14:32:47 +02:00
Hauke Mehrtens
d661a5d754 kernel/modules: kmod-chaoskey: Add missing dependency
This new package was missing the dependency to kmod-random-core which
caused some build errors.

Fixes: 163ab9135a ("kernel/modules: add chaoskey module, hardware TRNG")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-06-18 22:51:33 +02:00
Kevin Darbyshire-Bryant
83f31b7947 ltq_atm: burn ifx_atm_alloc_tx with fire
Drop code that was never used.

Tested on: BT HomeHub 5a

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2018-06-18 21:47:05 +02:00
Hannu Nyman
163ab9135a kernel/modules: add chaoskey module, hardware TRNG
Package the driver for Chaoskey, a USB dongle that provides a
True Random Number Generator (TRNG) and feeds entropy to kernel.

Chaoskey driver is included the upstream Linux sources, so
only packaging it is needed.

Run-tested with ipq806x/R7800 and mvebu/WRT3200ACM.

(Requires CONFIG_HW_RANDOM kernel option.)

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-06-18 20:29:38 +02:00
Felix Fietkau
7271eacb72 mt76: update to the latest version
072fdac mt76x2: mac: consider multicast/broadcast frames in ewma rssi estimation
f450659 mt76x2: improve gain adjustment in noisy environments

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-06-18 12:36:04 +02:00
Rafał Miłecki
c446e38c86 mac80211: backport brcmfmac changes from kernel 4.18
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-06-18 07:41:40 +02:00
Rafał Miłecki
7e8eb7f309 mac80211: backport brcmfmac firmware & clm_blob loading rework
It backports remaining brcmfmac changes from 4.17.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-06-18 07:41:40 +02:00
Rafał Miłecki
3c8bb92655 mac80211: backport brcmfmac data structure rework
It backports brcmfmac commits from kernel 4.17.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-06-17 22:46:35 +02:00
Rafał Miłecki
0da9303e5b mac80211: backport "brcmfmac: cleanup and some rework" from 4.17
It was described by Arend as:

> This series is intended for 4.17 and includes following:
>
>  * rework bus layer attach code.
>  * remove duplicate variable declaration.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-06-17 22:46:29 +02:00
Felix Fietkau
2f3c5fe962 mt76: update to the latest version
9090f9c mt76x2: fix threshold for gain adjustment
2cbaa57 mt76x2: fix swapped values for RXO-18 in gain control
a39ab70 mt76x2: adjust AGC control register 26 based on gain for VHT80
4936c0c mt76x2: clear false CCA counters after changing gain settings
1528fe7 mt76x2: fix variable gain adjustment range
f3522e1 mt76x2: add a debugfs file to dump agc calibration information
65e161b mt76x2: fix tracking rssi for dynamic gain adjustment

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-06-15 20:56:31 +02:00
Daniel Golle
70f4845777 ltq-vdsl-fw: strip legacy dsl_fw logic
We unfortunately dropped support for persistent in-flash DSL firmware.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2018-06-15 13:30:47 +02:00
Daniel Golle
0653e31270 lantiq-vdsl-fw: update to provide recent vectoring firmware
Recent Speedport firmware downloads only work over HTTPS, so the user
either needs to provide the already downloaded file or install
ustream-ssl-* as well as ca-certificates or ca-bundle.

So to get VDSL2 with vectoring on xRX200, simply run
vdsl_fw_install.sh
on the target and either provide the downloaded file as instructed or
make sure the device is connected to the Internet and can download that
HTTPS url itself.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2018-06-15 12:45:37 +02:00
Daniel Golle
8e2f8b0c83 Revert "lantiq: get rid of ltq-vdsl-fw"
This reverts commit 0938233fcd.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2018-06-15 12:45:37 +02:00
Hauke Mehrtens
83483ba787 kernel/modules: fix kmod-mdio-gpio module dependencies
On some targets this module depends on kmod-of-mdio.

This is similar to the fixes done in:
dc629d9cf5 ("kernel: fix kmod-switch-rtl8366-smi dependency")
56bd23cf52 ("kernel: let kmod-rtl8366-smi conditionally depend on kmod-of-mdio")

Fixes: 32f32398af ("kernel/modules: add kmod-mdio-gpio module")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-06-10 22:04:27 +02:00
Martin Schiller
5609bbabf1 kernel/modules: add kmod-switch-rtl8306 module
Add kernel module for kmod-switch-rtl8306.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2018-06-09 22:39:17 +02:00
Martin Schiller
32f32398af kernel/modules: add kmod-mdio-gpio module
Add kernel module package for kmod-mdio-gpio.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2018-06-09 22:39:17 +02:00
Florian Eckert
2f46f43754 kernel/modules: add kmod-adcxx module
Add kernel module package for kmod-adcxx.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2018-06-09 22:39:17 +02:00
Martin Schiller
503ac967c5 kernel/modules: add kmod-random-tpm module
Add kernel module package for kmod-random-tpm.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2018-06-09 22:39:17 +02:00
Sven Eckelmann
4270847a2c mac80211: ath10k: Allow to enable the thermal code of ath10k
Some ath10k firmware versions allow to access the chip internal a
temperature sensor and allow to reduce the amount of the time when the card
is allowed to send. The latter is required on devices which tend to
overheat.

An userspace service has to read
/sys/class/ieee80211/phy*/device/hwmon/hwmon*/temp1_input regularly and
then decide how much the device has to be throttled. This can be done by
writing to /sys/class/ieee80211/phy*/device/cooling_device/cur_state. By
default it is not throttled (0) but it can be throttled up to 100(%).

Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
2018-06-09 16:32:39 +02:00
Martin Schiller
eee8ab59dc ltq-vdsl-mei: reset g_tx_link_rate on showtime exit
Without this change, ifx_mei_atm_showtime_check() will always return
"showtime" after one call of MEI_InternalXtmSwhowtimeEntrySignal()
was done, even if MEI_InternalXtmSwhowtimeExitSignal() was called
in the meantime.

The ifx_mei_atm_showtime_check() function is used by the ltq-atm and
ltq-ptm driver.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2018-06-09 16:32:39 +02:00