aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211
Commit message (Collapse)AuthorAgeFilesLines
* mac80211: always use mac80211 loss detectionDavid Bauer2023-06-231-0/+36
| | | | | | | | | | | | | ath10k does not report excessive loss in case of broken block-ack sessions. The loss is communicated to the host-os, but ath10k does not trigger a low-ack events by itself. The mac80211 framework for loss detection however detects this circumstance well in case of ath10k. So use it regardless of ath10k's own loss detection mechanism. Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit ed816f6ba8b5e3df609e5fc53f7bcb09bdaa16be)
* mac80211: ath11k: sync with ath-nextRobert Marko2023-06-1218-8/+2691
| | | | | | | | | | | Synchronize the ath11k backports with the current ath-next tree. This introduces support for MBSSID and EMA, adds factory test mode and some new HTT stats. Tested-by: Francisco G Luna <frangonlun@gmail.com> Signed-off-by: Robert Marko <robimarko@gmail.com> (cherry picked from commit acde5271a68835f51185aae1b11343439a9d4cab)
* mac80211: backport EMA beacon supportRobert Marko2023-06-122-2/+374
| | | | | | | | | Backport EMA beacon support from kernel 6.4. It is required for MBSSID/EMA suport in ath11k that will follow. Tested-by: Francisco G Luna <frangonlun@gmail.com> Signed-off-by: Robert Marko <robimarko@gmail.com> (cherry picked from commit 84b5735b4c59c8fcb3db647430a4ffd574fb10a3)
* mac80211: brcm: drop brcmfmac patch waiting for register_wiphy()Rafał Miłecki2023-05-242-65/+1
| | | | | | | | | | | | | | | | That was a workaround for OpenWrt generation of config files. This patch was used to postpone returning from probe function until loading firmware and calling register_wiphy(). All of that is not needed anymore thanks to the ieee80211 hotplug.d script introduced in the commit 5f8f8a366136 ("base-files, mac80211, broadcom-wl: wifi detection and configuration"). That takes care of generating /etc/config/wireless entries even if wireless device appears late in the booting process. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit bd262663142e90f64f1c256b3e6b2b979c1022c0) Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: fix mt7601u firmware path and refresh patchesDaniel Golle2023-05-186-8/+65
| | | | | | | Import patch fixing the updated firmware path of mt7601u.bin. Refresh patches while at it. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: brcm: fix compilation warning for unused brcmf_of_fwnamesChristian Marangi2023-05-121-1/+5
| | | | | | | | | | | | | | If CPTCFG_BRCMFMAC_SDIO is not used brcmf_of_fwnames is defined but not used in the case of CONFIG_OF not compiled. Restrict brcmf_of_fwnames only with CPTCFG_BRCMFMAC_SDIO selected. Fix compilation warning: /__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/backports-6.1.24/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.h:16:1: error: 'brcmf_of_fwnames' defined but not used [-Werror=unused-function] 16 | brcmf_of_fwnames(struct device *dev, u32 *map_count) | ^~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* mac80211: ath9k: handle error from copy_to_user in read_file_eepromChristian Marangi2023-05-121-2/+3
| | | | | | | | | | | | Handle error from copy_to_user in read_file_eeprom. Fix compilarion warning: /__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/backports-6.1.24/drivers/net/wireless/ath/ath9k/debug.c: In function 'read_file_eeprom': /__w/openwrt/openwrt/openwrt/build_dir/target-x86_64-openwrt-linux-musl_musl/linux-x86_64/backports-6.1.24/drivers/net/wireless/ath/ath9k/debug.c:1451:17: error: ignoring return value of 'copy_to_user' declared with attribute 'warn_unused_result' [-Werror=unused-result] 1451 | copy_to_user(user_buf, from, bytes); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* mac80211: ath11k: sync with ath-nextRobert Marko2023-05-0616-130/+935
| | | | | | | | | Synchronize the ath11k backports with the current ath-next tree. This replaces the 160MHz with the upstreamed one, fixes 6GHz only WIPHY registration, allows SAR usage on WCN6750 and plenty of REO fixes. Signed-off-by: Robert Marko <robimarko@gmail.com>
* mac80211: b43: only enable bcma or ssb on bmipsÁlvaro Fernández Rojas2023-04-231-2/+2
| | | | | | | | | By default both kmod-bcma and kmod-ssb are selected by kmod-b43. However, only one of both modules is needed for bmips subtargets: - bcma: bcm6318, bcm6328, bcm6362, bcm63268 - ssb: bcm6358, bcm6368 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* mac80211: ath11k: replace 160MHz fix with upstream pending oneRobert Marko2023-04-183-31/+132
| | | | | | | | QCA has finally sent a proper fixup for the 160MHz regression upstream, so lets use the pending fix which also properly sets center frequency 2 in case 80+80 MHz is used. Signed-off-by: Robert Marko <robimarko@gmail.com>
* mac80211: update to v6.1.24Felix Fietkau2023-04-1844-1296/+233
| | | | | | Drop patches accepted upstream Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: ath11k: sync with ath-nextRobert Marko2023-04-1210-205/+728
| | | | | | | | | | | | Synchronize the ath11k backports with the current ath-next tree. This replaces the management TLV pending fix with the upstreamed one, fixes traffic flooding when AP and monitor modes are used at the same time, fixes QCN9074 always showing -95 dBm for station RSSI in dumps, fixes potential crash on boot if spectral scan is enabled due to writing to unitialized memory and adds 11d scan offloading for WCN6750 and WCN6855. Signed-off-by: Robert Marko <robimarko@gmail.com>
* mac80211: ath11k: Remove regulatory intersectionRobert Marko2023-04-111-0/+317
| | | | | | | | | | | | | | | | | | | | | | | | | Currently, during initialization ath11k will receive a regulatory event from the firmware in which it will receive the default regulatory domain code and accompanying rules list and report those to the kernel. Then if you try to change the regulatory domain to a different country code it will do a weird thing in which it will send that to the FW and after receiving the appropriate regulatory event it will parse the rules. However, while its parsing there is a weird thing being done, and that is that new raw rules from FW get intersected with the rules from the default domain. This is creating a big issue as the default domain is almost always set to "US" or just "00" aka world so ath11k will unfairly limit you to the most restrictive combination of rules based on the default domain and your desired domain. For example, in ETSI countries this is causing channels 12 and 13 on 2.4GHz to not be usable since "US" limits 2.4GHz to 2472MHz instead of 2482MHz like ETSI countries do. So, lets do what TIP and even QCA do in their ath11k downstream tree and completely get rid of the interesection code in ath11k. Signed-off-by: Robert Marko <robimarko@gmail.com>
* mac80211: ath11k: Fix invalid mgmt rx frame length issueRobert Marko2023-04-071-0/+202
| | | | | | | | | FW 2.9 uses multiple TLV-s for the RX mgmt even which driver currently does not support, so import a pending upstream patch to fix that [1]. [1] https://patchwork.kernel.org/project/linux-wireless/patch/20230320133840.30162-1-quic_nmaran@quicinc.com/ Signed-off-by: Robert Marko <robimarko@gmail.com>
* mac80211: ath11k: restore 160MHz supportRobert Marko2023-04-011-0/+29
| | | | | | | | | | | | Recent ath11k sync introduced a regression causing 80+80 and 160MHz to stop being advertised and thus not selectable due to the respective feature flags being cleared. So, until we get answers upstream to what was the reasoning behind this and it gets fixed, lets just remove the flag clearing to reanable 160MHz. Fixes: 789a0bac3535 ("mac80211: ath11k: sync with ath-next") Signed-off-by: Robert Marko <robimarko@gmail.com>
* mac80211, mt76: add fixes for recently discovered security issuesFelix Fietkau2023-03-305-0/+348
| | | | | | Fixes CVE-2022-47522 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix receiving mesh packets in forwarding=0 networksFelix Fietkau2023-03-261-0/+50
| | | | | | | | When forwarding is set to 0, frames are typically sent with ttl=1. Move the ttl decrement check below the check for local receive in order to fix packet drops. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix invalid calls to drv_sta_pre_rcu_removeFelix Fietkau2023-03-241-0/+25
| | | | | | Potentially fixes some driver data structure corruption issues Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mediatek: add kernel code for supporting offloading wlan->eth and wlan->wlan ↵Felix Fietkau2023-03-232-4/+153
| | | | | | | | flows Will be enabled by an upcoming mt76 update Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: ath11k: sync with ath-nextRobert Marko2023-03-2011-0/+2637
| | | | | | | | | | | | Synchronize the ath11k backports with the current ath-next tree. This brings in actually setting the MU-MIMO parameters in HW and 6GHz regulatory support along with some minor resource handling fixes. This allows to easily backport further fixes as cherry picking them has started requiring manual conflict resolution. Signed-off-by: Robert Marko <robimarko@gmail.com>
* mac80211: mark patches accepted upstreamNick Hainke2023-03-1915-0/+0
| | | | | | Add kernel tags to the patches that got accepted upstream. Signed-off-by: Nick Hainke <vincent@systemli.org>
* mac80211: enable ATH9K_HWRNGRosen Penev2023-03-051-2/+2
| | | | | | | | | in kernel 5.17, fcd09c90c3c5254b18ef34e30c57c65d34290a84 integrated it better with thee random framework. Gives boot time randomness on supported devices. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* mac80211: refresh patchesNick Hainke2023-03-055-5/+5
| | | | | | | | | | | | | The last mac80211 commits did not refresh the patches. Refresh: - ath/402-ath_regd_optional.patch - ath10k/080-ath10k_thermal_config.patch - ath10k/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch - ath9k/551-ath9k_ubnt_uap_plus_hsr.patch - rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch Signed-off-by: Nick Hainke <vincent@systemli.org>
* mac80211: fix regression in sw a-msdu tx introduced in mesh improvement patchesFelix Fietkau2023-03-033-21/+12
| | | | | Fixes: 6262d3eb068c ("mac80211: sync mesh fast xmit patch with upstream requested changes") Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add mesh fast-rx supportFelix Fietkau2023-03-021-0/+77
| | | | | | | This helps bring down rx CPU usage by avoiding calls to the rx handlers in the slow path. Supports forwarding and local rx, including A-MSDU. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add patch for allowing the driver to refresh aggregation sessionsFelix Fietkau2023-03-021-0/+60
| | | | | | Required by a mt76 update Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: backport upstream HE/VHT capability handling changesFelix Fietkau2023-03-022-0/+136
| | | | | | Will be required by an mt76 update at some point Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: sync mesh fast xmit patch with upstream requested changesFelix Fietkau2023-03-021-19/+13
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix mesh path discovery based on unicast packetsFelix Fietkau2023-02-261-0/+52
| | | | | | | | | If a packet has reached its intended destination, it was bumped to the code that accepts it, without first checking if a mesh_path needs to be created based on the discovered source. Fix this by moving the destination address check further down Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: rework mesh fast xmit implementationFelix Fietkau2023-02-264-431/+506
| | | | | | | Refactor in order to make use of generic fast xmit functions Fix issues with mesh SA/DA addressing Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix mesh fast xmit header cache flushFelix Fietkau2023-02-261-71/+159
| | | | | | split into multiple functions depending on sta, mpath or mpp Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: ath11k: sync with ath-nextRobert Marko2023-02-2220-4/+1616
| | | | | | | | | | | | Synchronize the ath11k backports with the current ath-next tree. This backports several memory leak issues, PCI IRQ fixup, peer add locking fix as well as IPQ5018 support, though IPQ5018 support is unused for now. This allows to easily backport further fixes as cherry picking them has started requiring manual conflict resolution. Signed-off-by: Robert Marko <robimarko@gmail.com>
* mac80211: fix mesh issues and improve performanceFelix Fietkau2023-02-206-1/+939
| | | | | | | fix forwarding received mesh a-msdu packets add fast xmit support for mesh to improve performance Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add fixes for receiving A-MSDU packets on mesh interfacesFelix Fietkau2023-02-138-34/+1141
| | | | | | | | The standard defines the A-MSDU header length field differently for mesh compared to other modes. Deal with this accordingly and work around broken implementations (e.g. ath10k, ath11k). Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: backport napi_build_skb for 5.10Felix Fietkau2023-01-291-0/+11
| | | | | | It is needed for an upcoming mt76 update Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: use 802.11ax iw modesDavid Bauer2023-01-281-3/+3
| | | | | | | | | | This adds missing HE modes to mac80211_prepare_ht_modes. Previously mesh without wpa_supplicant would be initialized with 802.11g /NO-HT only, as this method did not parse channel bandwidth for HE operation. Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: add ath11k AHB supportRobert Marko2023-01-164-2/+116
| | | | | | | | | | | | | | | | | This is the follow up to the PCI support commit now providing support for AHB variant as well, though currently only for ipq807x as that is only OpenWrt supported SoC ath11k supports as well. Currently, we are disabling coldboot calibration on ipq807x as it does not work, there is a remoteproc bug that makes it come late out of reset so disable coldboot until that is fixed. Also, as ath11k is quite memory hungry, we are introducing a config option to use the limits for 512MB of RAM, similar to what QCA does downstream but in way simpler and cleaner way so that 512MB save some RAM. 512MB profile is also set as the default for now. Signed-off-by: Robert Marko <robimarko@gmail.com>
* mac80211: ath11k: hack for multiple card supportRobert Marko2023-01-163-1/+302
| | | | | | | | | | | | This is a temporary workaround for supporting multiple cards or AHB+PCI. There is ongoing upstream work to properly support this based of advertised FW features, but that is still ongoing. This is only supported on QCN9074 cards due to FW limitation, so HW ID is checked in order to prevent breaking QCA6390 and other popular cards. Signed-off-by: Robert Marko <robimarko@gmail.com>
* mac80211: ath11k: fix monitor bringupRobert Marko2023-01-122-0/+240
| | | | | | | | | | Currently, ath11k will crash the crash if we try to bringup the monitor mode interface. Luckily, it has already been fixed upstream, so backport the patches fixing it. Fixes: 93ae4353cdf6 ("mac80211: add ath11k PCI support") Signed-off-by: Robert Marko <robimarko@gmail.com>
* mac80211: fix receiving multicast packets on multiple sta interfacesFelix Fietkau2022-12-301-26/+30
| | | | | | Also fix MLO sta sdata link initialization Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: Do not build brcmsmac on bcm47xx_legacyHauke Mehrtens2022-12-241-1/+1
| | | | | | | | | brcmsmac needs bcma. bcma is build into the kernel for the other bcm47xx subtargets, but not for the legacy target because it only uses ssb. We could build bcma as a module for bcm47xx_legacy, but none of these old devices uses a wifi card supported by brcsmac. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: add ath11k PCI supportRobert Marko2022-12-1920-4/+1718
| | | | | | | | | | | | | | | | | | | | | | ath11k is the upstream driver for Qualcomm 802.11ax radios, both for the internal AHB and PCI based cards. This commit does however only provide PCI support while AHB will follow but its SoC specific so it will require an OpenWrt target first. It differs a bit from ath10k as it requires stuff like QRTR, MHI and QMI helpers. PCI variant requires qrtr-mhi and mhi-bus which backports do provide, however we are dropping those in a patch as they will conflict with support for the AHB variant as that one requires qrtr-smd which in turn requires RPMSG and GLINK and its not feasable to provide those in backports as they are really SoC specific. QRTR and MHI in kernel 5.10 are not usable and backporting the changes is not easy as they have changed drastically from 5.10 to 5.15 ath11k will only be available on targets that use kernel 5.15. Signed-off-by: Robert Marko <robimarko@gmail.com>
* mac80211: fix a regression in processing management frames for AP VLAN ↵Felix Fietkau2022-12-161-21/+22
| | | | | | | | interfaces Fixes re-assoc of WDS stations Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: work around a race condition on detecting a phy while bringing it upFelix Fietkau2022-12-161-0/+4
| | | | | | | | When reloading modules and running wifi, a phy can sometimes be renamed while in the middle of a hotplug call that tries to detect new phys This can lead to bogus wifi-device sections being created Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix uninitialized variable in rx->link/link_sta initialization fixFelix Fietkau2022-12-161-23/+15
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix connecting multiple wds stations to an APFelix Fietkau2022-12-142-1/+26
| | | | | | A faulty check prevented the AP_VLAN interfaces from being brought up Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add a fix for a crash in __ieee80211_rx_h_amsduFelix Fietkau2022-12-131-0/+413
| | | | | | Fix initialization of rx->link_sta Signed-off-by: Felix Fietkau <nbd@nbd.name>
* treewide: remove DRIVER_11N_SUPPORTAndre Heider2022-12-137-17/+17
| | | | | | | | | | | | hostapd's compile time option CONFIG_IEEE80211N was removed almost 3 years ago, 80.211n/HT is always included since then. Noticed because `hostapd -v11n` confusingly returned an error. See hostapd's commit: f3bcd69603 "Remove CONFIG_IEEE80211N build option" Signed-off-by: Andre Heider <a.heider@gmail.com>
* ath9k: add missing dependency on random coreFelix Fietkau2022-12-131-1/+1
| | | | | Reported-by: Hartmut Birr <e9hack@gmail.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: update to linux 6.1-rc8Felix Fietkau2022-12-10120-9641/+1523
| | | | | | This should help stay in sync with upstream development Signed-off-by: Felix Fietkau <nbd@nbd.name>