aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211
Commit message (Collapse)AuthorAgeFilesLines
* mac80211: brcmfmac: backport important fixes from kernel 5.2Rafał Miłecki2019-06-1615-12/+544
| | | | | | | | | | 1) Crash/Oops fixes 2) One-line patch for BCM43456 support 3) Fix communication with some specific FullMAC firmwares 4) Potential fix for "Invalid packet id" errors 5) Important helper for reporting FullMAC firmware crashes Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mac80211: brcmfmac: really add early fw crash recoveryRafał Miłecki2019-04-188-0/+605
| | | | | | | | Previous commit backported USB fixes instead of firmware crash recovery patches. Fixes: 02aed76968d6 ("mac80211: brcmfmac: early work on FullMAC firmware crash recovery") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mac80211: brcmfmac: early work on FullMAC firmware crash recoveryRafał Miłecki2019-04-186-0/+335
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mac80211: add a fix to prevent unsafe queue wake calls during restartFelix Fietkau2019-03-071-0/+33
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: backport tx queue start/stop fixFelix Fietkau2019-03-072-1/+273
| | | | | | Among other things, it fixes a race condition on calling ieee80211_restart_hw Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: brcmfmac: backport 5.0 & 5.1 important changes/fixesRafał Miłecki2019-02-2520-8/+6934
| | | | | | | | This backports the most important brcmfmac commits that: 1) Fix some bugs 2) Help debugging bugs Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mac80211: brcmfmac: fix a possible NULL pointer dereferenceRafał Miłecki2019-02-111-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a possible crash in the brcmf_fw_request_nvram_done(): [ 31.687293] Backtrace: [ 31.689760] [<c004fb4c>] (__wake_up_common) from [<c004fc38>] (__wake_up_locked+0x1c/0x24) [ 31.698043] r10:c6794000 r9:00000009 r8:00000001 r7:bf54dda0 r6:a0000013 r5:c78e7d38 [ 31.705928] r4:c78e7d3c r3:00000000 [ 31.709528] [<c004fc1c>] (__wake_up_locked) from [<c00502a8>] (complete+0x3c/0x4c) [ 31.717148] [<c005026c>] (complete) from [<bf54590c>] (brcmf_fw_request_nvram_done+0x5c8/0x6a4 [brcmfmac]) [ 31.726818] r7:bf54dda0 r6:c6794000 r5:00001990 r4:c6782380 [ 31.732544] [<bf545344>] (brcmf_fw_request_nvram_done [brcmfmac]) from [<c0204e40>] (request_firmware_work_func+0x38/0x60) [ 31.743607] r10:00000008 r9:c6bdd700 r8:00000000 r7:c72c3cd8 r6:c67f4300 r5:c6bda300 [ 31.751493] r4:c67f4300 [ 31.754046] [<c0204e08>] (request_firmware_work_func) from [<c0034458>] (process_one_work+0x1e0/0x318) [ 31.763365] r4:c72c3cc0 [ 31.765913] [<c0034278>] (process_one_work) from [<c0035234>] (worker_thread+0x2f4/0x448) [ 31.774107] r10:00000008 r9:00000000 r8:c6bda314 r7:c72c3cd8 r6:c6bda300 r5:c6bda300 [ 31.781993] r4:c72c3cc0 [ 31.784545] [<c0034f40>] (worker_thread) from [<c003984c>] (kthread+0x100/0x114) [ 31.791949] r10:00000000 r9:00000000 r8:00000000 r7:c0034f40 r6:c72c3cc0 r5:00000000 [ 31.799836] r4:c735dc00 r3:c79ed540 [ 31.803438] [<c003974c>] (kthread) from [<c00097d0>] (ret_from_fork+0x14/0x24) [ 31.810672] r7:00000000 r6:00000000 r5:c003974c r4:c735dc00 [ 31.816378] Code: e5b53004 e1a07001 e1a06002 e243000c (e5934000) [ 31.822487] ---[ end trace a0ffbb07a810d503 ]--- Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 83bcacb5215c21e1894fbe3d651d83948479ce91)
* ath9k: register GPIO chip for OF targetsMathias Kresin2019-02-102-10/+19
| | | | | | | | | | | | | | | | | | | | This partitialy reverts commit f506de2cdaf9. Registering the GPIO chip without a parent device completely breaks the ath9k GPIOs for device tree targets. As long as boards using the devicetree don't have the gpio-controller property set for the ath9k node, the unloading of the driver works as expected. Register the GPIO chip with the ath9k device as parent only for OF targets to find a trade-off between the needs of driver developers and the broken LEDs and buttons seen by users. Fixes: FS#2098 Signed-off-by: Mathias Kresin <dev@kresin.me> (cherry picked from commit d35f2a5565fc51fb277f72a8565c871ce1785588)
* mac80211: brcmfmac: backport firmware loading changes & fix memory bugsRafał Miłecki2019-01-088-15/+620
| | | | | | | | | | | | | | | | This pick most of brcmfmac changes backported into the master in commits 5932eb690f24 ("mac80211: brcmfmac: backport firmware loading cleanup") 3eab6b8275b2 ("mac80211: brcmfmac: backport NVRAM loading improvements") 529c95cc15dc ("mac80211: brcmfmac: fix use-after-free & possible NULL pointer dereference") It's more than would be normally backported into a stable branch but it seems required. Firmware loading cleanups are needed to allow fix memory bugs in a reliable way. Memory fixes are really important to avoid corrupting memory and risking a NULL pointer dereference. Hopefully this stuff has received enough testing in the master. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mac80211: fix spurious disconnections with powersave clientsFelix Fietkau2018-11-131-0/+26
| | | | | | Affects all drivers using ieee80211_tx_status_noskb, e.g. ath9k and mt76 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: brcmfmac: add 2 more recent changesRafał Miłecki2018-11-093-0/+112
| | | | | | | | | | First one is a fix for reporting channels to the user space. Important for users as they could try setting invalid channel and fail to start an interface. Later is a support for newer FullMAC chipset firmwares. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mac80211: backport firmware_request_nowarn and firmware_request_cacheFelix Fietkau2018-11-091-0/+19
| | | | | | Required for an mt76 update to the latest version from master Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: backport and include linux/overflow.hFelix Fietkau2018-11-091-0/+322
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: backport sg_init_marker()Felix Fietkau2018-11-091-0/+30
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: brcmutil: backport chanspec debugging patchRafał Miłecki2018-11-071-0/+83
| | | | | | It helps debugging possible WARN-ings. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mac80211: brcmfmac: backport the latest 4.20 changesRafał Miłecki2018-11-074-0/+244
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit b50f162b3cce3d95874e4394f4765413f58765f1)
* mac80211: brcmfmac: rename 4.20 backport patchesRafał Miłecki2018-11-074-0/+0
| | | | | | | Include kernel version to help tracking changes. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit f7a3459ab9c4d8f5102c8ae0861ca481571703f7)
* mac80211: add iw command wrapper with error loggingRafał Miłecki2018-11-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | 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> (cherry picked from commit ffa80bf5a784a34b81e32144669f30560780bdb6)
* ath9k: fix dynack in IBSS modeKoen Vandeputte2018-11-065-0/+309
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, dynack was only tested upstream using AP/STA mode. Testing it on IBSS, showed that late-ack detection was broken. This is caused due to dynack using Association Request/Response frames for late-ack detection, which IBSS does not use. Also allowing Authentication frames here solves this. A second issue also got fixed, which was also seen AP/STA mode: When a station was added, the estimated value would be exponentially averaged using 0 as a starting point. This means that on larger distances, the ack timeout was still not high enough before synchronizing would run out of late-ack's for estimation. Fix this by using the initial estimated value as a baseline and only start averaging in the following estimation rounds. Test setup: - 2x identical devices: RB912UAG-5HPnD + 19dB sector - IBSS - 2x2 802.11an (ar9340), HT20, long GI - RSSI's -70 / -71 - Real distance: 23910 meter Results (60s iperf runs): Fixed coverage class 54 (up to 24300m): * 21.5 Mbits/sec Dynack: * 28.9 Mbits/sec Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* mac80211: fix A-MSDU packet handling with TCP retransmissionFelix Fietkau2018-10-111-0/+31
| | | | | | | Improves local TCP throughput and fixes use-after-free bugs that could lead to crashes. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix management frame protection issue with mt76 (and possibly ↵Felix Fietkau2018-09-291-0/+25
| | | | | | | | | 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>
* mac80211: fix tx queue allocation for active monitor interfacesFelix Fietkau2018-09-221-0/+26
| | | | | | Fixes a crash with drivers like ath9k Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: backport upstream fixesKoen Vandeputte2018-09-2116-55/+702
| | | | | | | | | | | Backport most significant upstream fixes (excl. hwsim fixes) Refreshed all patches. Contains important fixes for CSA (Channel Switch Announcement) and A-MSDU frames. [slightly altered to apply cleanly] Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ath9k: fix unloading the moduleFelix Fietkau2018-09-202-15/+10
| | | | | | | | | 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>
* mac80211: brcmfmac: backport CYW89342 support & fixes from 4.20Rafał Miłecki2018-09-124-0/+208
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit b3d441c5f7c5247c1b0c3b6e9827d49a27093d50)
* mac80211: brcmfmac: backport patch for per-firmware featuresRafał Miłecki2018-09-121-0/+84
| | | | | | | | This allows driver to support features that can't be dynamically discovered. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit fecbd91c7c12b5b1cfe894c2901083cc42863aae)
* mac80211: brcmfmac: backport 4.19 patches preparing monitor mode supportRafał Miłecki2018-09-126-1/+383
| | | | | | | | | 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> (cherry picked from commit c0608c6a27e74923dc94772072d4a279d652b3fc)
* mac80211: mwl8k: Expand non-DFS 5G channelsAntonio Silverio2018-08-271-0/+37
| | | | | | | 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>
* mac80211: backport brcmfmac fixes & debugging helpers from 4.18Rafał Miłecki2018-07-279-2/+341
| | | | | | | | | | | | | 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: 2811c97803e5 ("mac80211: backport brcmfmac firmware & clm_blob loading rework") Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit b26214adb53da2816ff830b6cd6e31e1dafa2635)
* mac80211: Expose support for ath9k DynackKoen Vandeputte2018-07-121-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* mac80211: initialize sinfo in cfg80211_get_stationSven Eckelmann2018-07-081-0/+42
| | | | | | | | | | | | | | | | | | | | 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> (cherry picked from commit 87493dac11f3c7bbbc1fed9aef1cf9ff62053ab0)
* mac80211: make rtl8xxxu build againJohn Crispin2018-06-261-0/+38
| | | | | | | we only wanted to drop rtl8xxxue support Signed-off-by: John Crispin <john@phrozen.org> (cherry picked from commit d8981133b27e7deebc79dc5fc51beb06b3b0a221)
* mac80211: rtl8xxxu: drop support patchesJohn Crispin2018-06-2658-3569/+0
| | | | | | | | | | 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> (cherry picked from commit 66c5696cdf9599ccef652a651f52c0f7f53da44a)
* mac80211: backport brcmfmac changes from kernel 4.18Rafał Miłecki2018-06-2311-0/+631
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit c446e38c862201dd4d6a4fb8ea6e49172980952d)
* mac80211: backport brcmfmac firmware & clm_blob loading reworkRafał Miłecki2018-06-238-41/+1392
| | | | | | | It backports remaining brcmfmac changes from 4.17. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 7e8eb7f309a802ba10a13ddb807c6a31fecc9183)
* mac80211: backport brcmfmac data structure reworkRafał Miłecki2018-06-2310-9/+1426
| | | | | | | It backports brcmfmac commits from kernel 4.17. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 3c8bb92655c68a07abf5358ef23eb98422ed8d6d)
* mac80211: backport "brcmfmac: cleanup and some rework" from 4.17Rafał Miłecki2018-06-239-1/+772
| | | | | | | | | | | | 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> (cherry picked from commit 0da9303e5b444e2c98c24719c48c09f4c976c5a7)
* mac80211: fix up ath10k led patchJohn Crispin2018-06-221-26/+52
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* mac80211: drop 355-ath9k-limit-retries-for-powersave-response-frames.patchJohn Crispin2018-06-2218-235/+153
| | | | | | | several people reported this bug to be causing drop out issues Signed-off-by: John Crispin <john@phrozen.org> (cherry picked from commit cac1a4be66f548735878beccc10dc4b1ec7ad364)
* mac80211: ath10k fix vht160 firmware crashAnsuel Smith2018-06-222-0/+182
| | | | | | | When the 160mhz width is selected the ath10k firmware crash. This fix this problem. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> (cherry picked from commit 134e832814f1986c7ee06ac00806ebb6e762fd15)
* mac80211: ath10k add leds supportAnsuel Smith2018-06-221-0/+617
| | | | | | | This adds support for leds handled by the wireless chipset. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> (cherry picked from commit 61d57a2f88b90ba951012e66c7c6fae9234c97b4)
* mac80211: rt2x00: no longer use TXOP_BACKOFF for probe framesDaniel Golle2018-06-112-1/+46
| | | | | | | | Import a revert-commit from Stanislaw Gruszka which significantly improves WiFi performance on rt2x00 based hardware. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry-picked from commit f4a639a3d7d40b4f63c431c2d554c479fbcc6b74)
* mac80211: refactor non-{sae,dfs} mesh initializationDaniel Golle2018-05-152-47/+48
| | | | | | | | | | | | Refactor mesh initialization into a separate function, do some cleaning on the way to make the code more readable. Changes: * Move iw mesh setup to new mac80211_setup_mesh() * fallback on 'ssid' parameter in case 'mesh_id' isn't set * move setting of freq variable to shared code as it is needed for both, the wpa_supplicant and the iw based setup. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: Re-enable encrypted 11s meshpointSven Eckelmann2018-05-142-2/+2
| | | | | | | | | | The commit 574e4377fad5 ("mac80211: properly setup mesh interface") uses the variable $wpa to decide whether encrypted meshpoint is requested by the user or not. But the variable $wpa will only be set correctly after the function wireless_vif_parse_encryption is called. Fixes: 574e4377fad5 ("mac80211: properly setup mesh interface") Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
* mac80211: properly setup mesh interfaceDaniel Golle2018-05-142-4/+15
| | | | | | | Setup wpa_supplicant for encrypted mesh or when using DFS channels and adjust interface setup to pass fixed frequency for mesh mode. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: fix build error for external kernel.Sandeep Sheriker Mallikarjun2018-05-071-5/+10
| | | | | | | | | | fixed build error when external kernel is selected from menuconfig. The patches present in target/linux/generic does not gets applied to external kernel and build fails while compiling mac82011 & regmap-core kernel modules. as a fix added check in Makefile for CONFIG_EXTERNAL_KERNEL_TREE present or not. Signed-off-by: Sandeep Sheriker Mallikarjun <sandeepsheriker.mallikarjun@microchip.com>
* mac80211: update patch to read ath10k variant from DTThomas Hebb2018-04-203-13/+18
| | | | | | | | | This patch was revised upstream before being merged, and OpenWrt's copy was never updated to reflect the revision. Signed-off-by: Thomas Hebb <tommyhebb@gmail.com> [refreshed patches] Signed-off-by: Mathias Kresin <dev@kresin.me>
* mac80211: pass down noscan to wpa_supplicantDaniel Golle2018-04-202-2/+2
| | | | Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: join 5GHz checksLeon M. George2018-04-191-6/+3
| | | | | | | | | | Before this commit, devices supporting both 2.4GHz and 5GHz would be configured for 2.4GHz by default - unless they have VHT capabilities. With this commit, channel 36 is only set when the frequency is supported. VHT isn't checked unless that is the case. Signed-off-by: Leon M. George <leon@georgemail.eu>
* mac80211: ipw2200-fw: fix download mirror(s)Stefan Lippers-Hollmann2018-04-181-1/+5
| | | | | | | bughost.org hasn't existed for 6-8 years, add a couple of current mirrors to avoid the fallback to http://mirror2.openwrt.org/sources/. Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>