aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches
Commit message (Collapse)AuthorAgeFilesLines
...
* mac80211: add significant minstrel_ht performance improvementsFelix Fietkau2021-01-256-0/+1670
| | | | | | Completely redesign the rate sampling approach Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix rounding error in minstrel_ht throughput calculationFelix Fietkau2021-01-151-0/+34
| | | | | | Fixes rate selection with lower data rates Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix an uninitialized stack variable in the minstrel updateFelix Fietkau2021-01-142-3/+11
| | | | | | It can lead to out-of-bounds access and invalid rates Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: replace legacy minstrel with minstrel_ht, improve rate selectionFelix Fietkau2021-01-038-0/+2586
| | | | | | | Legacy minstrel is essentially unmaintained and was showing poor performance Replace it with minstrel_ht and improve rate selection and sampling behavior Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: do not drop tx nulldata packets on encrypted linksFelix Fietkau2020-12-181-0/+25
| | | | | | Fixes sending out nulldata probing frames Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: Update to version 5.8.18-1Hauke Mehrtens2020-12-1618-214/+34
| | | | | | The removed patches were applied upstream. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: add minstrel fixes that fix mt76 issues in legacy modeFelix Fietkau2020-11-122-0/+122
| | | | | | | | Remove deferred sampling code which does not work well with rate tables + probing. Fix tx status handling if the first invalid rate idx is not set to -1 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: backport the new tasklet APIFelix Fietkau2020-11-121-0/+35
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: rt2x00: save survey for every channel visitedMarkov Mikhail2020-10-211-0/+183
| | | | | | | | | | | | | | | rt2800 olny gives you survey for current channel. Survey-based ACS algorithms are failing to perform their job when working with rt2800. Make rt2800 save survey for every channel visited and be able to give away that information. There is a bug registred https://dev.archive.openwrt.org/ticket/19081 and this patch solves the issue. Signed-off-by: Markov Mikhail <markov.mikhail@itmh.ru>
* mac80211: fix memory leak on filtered powersave framesFelix Fietkau2020-10-171-0/+55
| | | | | | | | | | After the status rework, ieee80211_tx_status_ext is leaking un-acknowledged packets for stations in powersave mode. To fix this, move the code handling those packets from __ieee80211_tx_status into ieee80211_tx_status_ext Reported-by: Tobias Waldvogel <tobias.waldvogel@gmail.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
* rt2x00: mt7620: differentiate based on SoC's CHIP_VERDaniel Golle2020-10-092-0/+547
| | | | | | | | | | | | | | | | | | | | | | | The vendor driver does things differently based on what it finds in the SoC's CHIP_VER register, which should tell whether this is MT7620N or MT7620A (PKG) and probably also the revision (VER) and most likely also something about the silicon implementer (ECO). Introduce codepaths just like the ones in the vendor driver to handle the different chips properly. Some of those paths are most likely dead code and left-overs from FPGA versions or early prototypes of the chip. It'd thus be great if people can post their kernel logs, at least the line telling the chip version and eco, so we know what's actually out there in the wild -- all I could find is [ 0.000000] SoC Type: Ralink MT7620A ver:2 eco:6 and [ 0.000000] SoC Type: Ralink MT7620N ver:2 eco:6 which would make things easier, as then we really just need to know whether it's MT7620N or MT7620A and not care about FPGA or prototypes with ver <= 1 and eco <= 2. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: backport sched_set_fifo_lowFelix Fietkau2020-09-291-0/+32
| | | | | | This is needed for newer mt76 updates Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: another fix for the sta connection monitorFelix Fietkau2020-09-291-5/+37
| | | | | | Make the code more closely match the original behavior Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: update sta connection monitor regression fixFelix Fietkau2020-09-231-15/+27
| | | | | | Reset the connection monitor on all acked frames Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix regression in station connection monitor optimizationFelix Fietkau2020-09-211-0/+26
| | | | | | | | | When the nulldata frame was acked, the probe send count needs to be reset, otherwise it will keep increasing until the connection is considered dead, even though it fine. Reported-by: Georgi Valkov <gvalkov@abv.bg> Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: do not allow bigger VHT MPDUs than the hardware supportsFelix Fietkau2020-09-171-0/+34
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: allow bigger A-MSDU sizes in VHT, even if HT is limitedFelix Fietkau2020-09-161-0/+26
| | | | | | Improves tx throughput when connecting to some APs (e.g. Asus RT-AC88U) Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: update encap offload patches to the latest versionFelix Fietkau2020-09-0917-149/+1199
| | | | | | | Minor cleanup and code reorganization, along with a change to not disable offload anymore when a tkip or sw crypto key is added Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: remove an obsolete patch that is no longer doing anything usefulFelix Fietkau2020-09-018-32/+17
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add more AQL fixes/improvementsFelix Fietkau2020-09-012-0/+72
| | | | | | Fix aggregation length estimation, add HE and VHT160 support Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: Fix potential endless loopHauke Mehrtens2020-08-301-0/+31
| | | | | | Backport a fix from kernel 5.8.3. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: rework encapsulation offload supportFelix Fietkau2020-08-2214-3/+1921
| | | | | | Fix a number of deficiencies in the existing API Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add missing return code checks in AQL improvementsFelix Fietkau2020-08-212-6/+8
| | | | | | Fixes throughput issues with some drivers (e.g. ath10k) Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add missing backports for building with 4.14 kernelsFelix Fietkau2020-08-142-0/+54
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add AQL improvementsFelix Fietkau2020-08-133-0/+403
| | | | | | | Add AQL support for HE drivers. Improve assumed aggregation length based on tx rate Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: Update to version 5.8Hauke Mehrtens2020-08-109-371/+14
| | | | | | The removed patches were applied upstream. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: fix spurious disconnect issues with disassoc_low_ack=1 (default)Felix Fietkau2020-08-091-0/+116
| | | | | | | | | | mac80211 reports a packet loss event to user space when 50 consecutive packets were not acked. On a high throughput link with long aggregates and sudden link changes, this can trigger way too easily. Mitigate false positives by only triggering the event on a packet loss if no ACK was received for at least a second Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: exchange mesh 6GHz IE patch for upstream acceptedDavid Bauer2020-08-082-28/+64
| | | | | | | | | | Exchange the patch fixing the kernel ringbuffer WARNING flood for the one accepted upstream. Fixes commit a956c14d6aa4 ("mac80211: util: don't warn on missing sband iftype data") Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: merge performance improvement patchesFelix Fietkau2020-08-063-0/+260
| | | | | | | Fix fq_codel performance issues Add a new rx function for batch processing Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix AQL issuesFelix Fietkau2020-08-062-0/+112
| | | | | | | - Remove bogus STA txq pending airtime underflow warning - Improve tx airtime estimation for A-MPDU traffic Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: util: don't warn on missing sband iftype dataDavid Bauer2020-07-251-0/+28
| | | | | | | | | | | The kernel currently floods the ringbuffer with warnings when adding a mesh interface for a device not support HE 6GHz modes. Return without warning in this case, as mesh_add_he_6ghz_cap_ie calls ieee80211_ie_build_he_6ghz_cap regardless of the supported interface modes. Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: Update to version 5.8-rc2-1Hauke Mehrtens2020-07-2337-372/+362
| | | | | | | | | | | | | | | | | | | | | | | | The following patches: * 972-ath10k_fix-crash-due-to-wrong-handling-of-peer_bw_rxnss_override-parameter.patch * 973-ath10k_fix-band_center_freq-handling-for-VHT160-in-recent-firmwares.patch are replaced by this commit in the upstream kernel: * 3db24065c2c8 ("ath10k: enable VHT160 and VHT80+80 modes") The following patches were applied upstream: * 001-rt2800-enable-MFP-support-unconditionally.patch * 090-wireless-Use-linux-stddef.h-instead-of-stddef.h.patch The rtw88 driver is now split into multiple kernel modules, just put it all into one OpenWrt kernel package. rtl8812au-ct was patched to compile against the mac80211 from kernel 5.8, but not runtime tested. Add a patch which fixes ath10k on IPQ40XX, this patch was send upstream and fixes a crash when loading ath10k on this SoC. Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [ipq40xx/ map-ac2200] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: Update to version 5.7.5-1Hauke Mehrtens2020-07-2310-17/+17
| | | | | | The b43 and b43legacy driver now support DRIVER_11W_SUPPORT. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: rt2x00: define RF5592 in init_eeprom routineDaniel Golle2020-07-103-3/+54
| | | | | | | | | | | Make sure RF5592 is set for RT5592 chip which apparently sometimes doesn't have RF defined (but always comes with RF5592). This patch was originally submitted on linux-wireless by Tom Psyborg <pozega.tomislav@gmail.com> but got rejected. Turns out the patch is actually needed. Reported-by: Sebastian Gottschall <s.gottschall@dd-wrt.com> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: ath9k: enable MFP capability unconditionallyDavid Bauer2020-06-251-0/+34
| | | | | | | | | | ath9k will already fallback on software-crypto for chipsets not supporting IEEE802.11w (MFP). So advertising MFP is not dependent on disabling HW crypto for all traffic entirely. Tested on Sonicwall SonicPoint Ni (AR9132) Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: rt2x00: backport patch enabling MFPDaniel Golle2020-05-301-0/+44
| | | | | | | | | | | | From: Rui Salvaterra <rsalvaterra@gmail.com> Date: Mon, 25 May 2020 14:49:07 +0100 Subject: [PATCH] rt2800: enable MFP support unconditionally This gives us WPA3 support out of the box without having to manually disable hardware crypto. The driver will fall back to software crypto if the connection requires management frame protection. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: Fix build on mpc85xx targetHauke Mehrtens2020-05-211-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | This fixes the following compile error seen on the mpc85xx target: CC [M] /linux-mpc85xx_p2020/backports-5.7-rc3-1/drivers/net/wireless/intersil/orinoco/main.o In file included from /builder/shared-workdir/build/staging_dir/toolchain-powerpc_8540_gcc-8.4.0_musl/include/stddef.h:17, from /linux-mpc85xx_p2020/backports-5.7-rc3-1/include/uapi/linux/wireless.h:77, from /linux-mpc85xx_p2020/backports-5.7-rc3-1/include/linux/wireless.h:13, from /linux-mpc85xx_p2020/backports-5.7-rc3-1/drivers/net/wireless/intersil/orinoco/main.c:89: /builder/shared-workdir/build/staging_dir/toolchain-powerpc_8540_gcc-8.4.0_musl/include/bits/alltypes.h:106:15: error: conflicting types for 'ptrdiff_t' typedef _Addr ptrdiff_t; ^~~~~~~~~ In file included from /linux-mpc85xx_p2020/backports-5.7-rc3-1/backport-include/linux/types.h:4, from ./include/linux/list.h:5, from /linux-mpc85xx_p2020/backports-5.7-rc3-1/backport-include/linux/list.h:3, from ./include/linux/module.h:9, from /linux-mpc85xx_p2020/backports-5.7-rc3-1/backport-include/linux/module.h:3, from /linux-mpc85xx_p2020/backports-5.7-rc3-1/drivers/net/wireless/intersil/orinoco/main.c:79: ./include/linux/types.h:65:28: note: previous declaration of 'ptrdiff_t' was here typedef __kernel_ptrdiff_t ptrdiff_t; ^~~~~~~~~ scripts/Makefile.build:265: recipe for target '/linux-mpc85xx_p2020/backports-5.7-rc3-1/drivers/net/wireless/intersil/orinoco/main.o' failed Fixes: 289c6324259e ("mac80211: Update to version 5.7-rc3-1") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: Update to version 5.7-rc3-1Hauke Mehrtens2020-05-2122-288/+137
| | | | | | | | | | | This updates the mac80211 backport. The removed patches are already integrated in the upstream version. The 131-Revert-mac80211-aes-cmac-switch-to-shash-CMAC-driver.patch patch was manually adapted to the changes in kernel 5.7. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: Update to version 5.6.8-1Hauke Mehrtens2020-05-2137-1416/+55
| | | | | | | | This updates the mac80211 backport. The removed patches are already integrated in the upstream version. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: Update to version 5.5.19Hauke Mehrtens2020-05-2141-2892/+366
| | | | | | | | This updates the mac80211 backport. The removed patches are already integrated in the upstream version. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: Update to version 5.4.36-1Hauke Mehrtens2020-05-2116-194/+46
| | | | | | | | | This updates the mac80211 backport to the latest minor version. The removed patch was a backport from the upstream kernel which is now integrated. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: ath10k: increase rx buffer size to 2048Linus Lüssing2020-04-262-1/+38
| | | | | | | | | | | | | | | | | | | | | | | Before, only frames with a maximum size of 1528 bytes could be transmitted between two 802.11s nodes. For batman-adv for instance, which adds its own header to each frame, we typically need an MTU of at least 1532 bytes to be able to transmit without fragmentation. This patch now increases the maxmimum frame size from 1528 to 1656 bytes. Tested with two ath10k devices in 802.11s mode, as well as with batman-adv on top of 802.11s with forwarding disabled. Fix originally found and developed by Ben Greear. Link: https://github.com/greearb/ath10k-ct/issues/89 Link: https://github.com/greearb/ath10k-ct/commit/9e5ab25027e0971fa24ccf93373324c08c4e992d Cc: Ben Greear <greearb@candelatech.com> Signed-off-by: Linus Lüssing <ll@simonwunderlich.de> Signed-off-by: Sven Eckelmann <sven@narfation.org>
* mac80211: drop data frames without key on encrypted linksDavid Bauer2020-04-171-0/+148
| | | | | | | | | | | | | | | | | | | | | | | | | If we know that we have an encrypted link (based on having had a key configured for TX in the past) then drop all data frames in the key selection handler if there's no key anymore. This fixes an issue with mac80211 internal TXQs - there we can buffer frames for an encrypted link, but then if the key is no longer there when they're dequeued, the frames are sent without encryption. This happens if a station is disconnected while the frames are still on the TXQ. Detecting that a link should be encrypted based on a first key having been configured for TX is fine as there are no use cases for a connection going from with encryption to no encryption. With extended key IDs, however, there is a case of having a key configured for only decryption, so we can't just trigger this behaviour on a key being configured. Cc: stable@vger.kernel.org Reported-by: Jouni Malinen <j@w1.fi> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: rt2x00: prune more unnecessary exportsDaniel Golle2020-04-015-137/+27
| | | | | | | | | | | | The calibration patches for MT7620 unnecessarily export symbols and populate never accessed function pointers. Remove all that and make functions static as the only place where each of those functions is called is within rt2800lib.c. Also make code more readable by fixing indentation, removing unnecessary parantheses and simplifying some instructions using shorthands here and there. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: Update to version 5.4.27Hauke Mehrtens2020-03-2937-651/+54
| | | | | | The removed patches are all integrated in the upstream version now. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: Fix rt2x00 exportsHauke Mehrtens2020-03-292-17/+6
| | | | | | | | | | | | | | | | | | | Do not export static functions, they are anyway not referenced by any code in a different module. This fixes the following compile warning: WARNING: "rt2800_rf_aux_tx0_loopback" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_write_dc" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_rf_configstore" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_do_sqrt_accumulation" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_rf_configrecover" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_loft_search" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_iq_search" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_setbbptonegenerator" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_rf_aux_tx1_loopback" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL Acked-by: Daniel Golle <daniel@makrotopia.org> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: fix brcmfmac monitor interface crashRafał Miłecki2020-03-272-1/+101
| | | | | | | This fixes bug in brcmfmac *exposed* by ipv6/addrconf fix. Fixes: ec8e8e2ef082 ("kernel: backport out-of-memory fix for non-Ethernet devices") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mac80211: fix symbol dependency of rt2x00lib kernel moduleSven Over2020-03-071-2/+8
| | | | | | | | | | | | On platforms that do not have CONFIG_MTD enabled, loading the rt2x00lib kernel module fails because it depends on symbols from the mtd module ("Unknown symbol get_mtd_device_nm"). This commit disables the code that can read the eeprom from mtd if mtd is not enabled. Signed-off-by: Sven Over <sp@cedenti.st> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: Allow IBSS mode and different beacon intervalsHauke Mehrtens2020-02-241-0/+29
| | | | | | | | ath10k-ct supports the combination to select IBSS (ADHOC) mode and different beacon intervals together. mac80211 does not like this combination, but Ben says this is ok, so remove this check. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: backport fix TID field in monitor mode transmitFredrik Olofsson2020-02-221-0/+45
| | | | | | Backport 753ffad3d6243303994227854d951ff5c70fa9e0 as merged in Linux v5.5-rc3. Signed-off-by: Fredrik Olofsson <fredrik.olofsson@anyfinetworks.com>