aboutsummaryrefslogtreecommitdiff
path: root/package/kernel/mac80211
Commit message (Collapse)AuthorAge
* hostapd: add ucode support, use ucode for the main ubus objectFelix Fietkau2023-08-01
| | | | | | | | This implements vastly improved dynamic configuration reload support. It can handle configuration changes on individual wifi interfaces, as well as adding/removing interfaces. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: rework MT7620 PA/LNA RF calibrationShiji Yang2023-07-29
| | | | | | | | | | | | | | | This patch makes some improvements to the MT7620 RF calibration. 1. Move MT7620 PA/LNA calibration code to dedicated functions. 2. Restore RF and BBP registers before R-Calibration. 3. Do Rx DCOC calibration again before RXIQ calibration. 4. Use SoC specific AGC initial LNA value. 5. Correct MAC_RX_EN mask in rt2800_r_calibration()[1]. [1] This change may fix the "BBP/RF register access failed" error: ieee80211 phy0: rt2800_wait_bbp_rf_ready: Error - BBP/RF register access failed, aborting Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* rockchip: enable wifi support for NanoPC T4Lu jicong2023-07-26
| | | | | | wifi module: AP6356S (BCM4356) SDIO Signed-off-by: Lu jicong <jiconglu58@gmail.com>
* mac80211: limit MT7620 TX power based on eeprom calibrationShiji Yang2023-07-23
| | | | | | | | This patch adds basic TX power control for the MT7620 and limits its maximum TX power. This can avoid the link speed decrease caused by chip overheating. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* mac80211: add fix for receiving STP frames on meshFelix Fietkau2023-07-11
| | | | | | Fix length in ethernet header Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: partly revert force-mac80211 loss detectionDavid Bauer2023-07-05
| | | | | | | | | This patch will only force mac80211 loss detection upon ath10k by masking the driver-specific loss-detection bit. Ref: commit ed816f6ba8b5 ("mac80211: always use mac80211 loss detection") Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: fix mesh fast tx cache issuesFelix Fietkau2023-06-30
| | | | | | Split the cache by tx type in order to avoid packet drop issues Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix quilt patch corruptionFelix Fietkau2023-06-23
| | | | | Fixes: 9219b0660a91 ("mac80211: fix HE issues with AP_VLAN interfaces") Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix HE issues with AP_VLAN interfacesFelix Fietkau2023-06-23
| | | | | | Fixes issues with aggregation Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: always use mac80211 loss detectionDavid Bauer2023-06-23
| | | | | | | | | | | | 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>
* ipq807x: rename target to qualcommaxRobert Marko2023-06-16
| | | | | | | | | | | | | Currently, ipq807x only covers Qualcomm IPQ807x SoC-s. However, Qualcomm also has IPQ60xx and IPQ50xx SoC-s under the AX WiSoC-s and they share a lot of stuff with IPQ807x, especially IPQ60xx so to avoid duplicating kernel patches and everything lets make a common target with per SoC subtargets. Start doing that by renaming ipq807x to qualcommax so that dependencies on ipq807x target can be updated. Signed-off-by: Robert Marko <robimarko@gmail.com>
* mac80211: ath11k: sync with ath-nextRobert Marko2023-06-04
| | | | | | | | | | 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>
* mac80211: backport EMA beacon supportRobert Marko2023-06-04
| | | | | | | | 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>
* mac80211: remove legacy unused lib80211 support patchFelix Fietkau2023-05-26
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: backport merged version of A-MSDU mesh patchRobert Marko2023-05-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kernel 6.1 now has fortify_memcpy_chk() and it is causing the following warning while trying to compile backports: CC [M] /home/robimarko/Building/AX3600/ipq807x-5.15/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/backports-6.1.24/net/wireless/util.o In file included from ./include/linux/string.h:253, from /home/robimarko/Building/AX3600/ipq807x-5.15/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/backports-6.1.24/backport-include/linux/string.h:3, from ./include/linux/bitmap.h:11, from ./include/linux/cpumask.h:12, from ./include/linux/smp.h:13, from ./arch/arm64/include/asm/arch_timer.h:18, from ./arch/arm64/include/asm/timex.h:8, from ./include/linux/timex.h:67, from ./include/linux/time32.h:13, from ./include/linux/time.h:60, from /home/robimarko/Building/AX3600/ipq807x-5.15/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/backports-6.1.24/backport-include/linux/time.h:3, from ./include/linux/skbuff.h:15, from /home/robimarko/Building/AX3600/ipq807x-5.15/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/backports-6.1.24/backport-include/linux/skbuff.h:3, from ./include/linux/if_ether.h:19, from /home/robimarko/Building/AX3600/ipq807x-5.15/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/backports-6.1.24/backport-include/linux/if_ether.h:3, from ./include/linux/etherdevice.h:20, from /home/robimarko/Building/AX3600/ipq807x-5.15/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/backports-6.1.24/backport-include/linux/etherdevice.h:3, from /home/robimarko/Building/AX3600/ipq807x-5.15/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/backports-6.1.24/net/wireless/util.c:12: In function 'fortify_memcpy_chk', inlined from 'ieee80211_strip_8023_mesh_hdr' at /home/robimarko/Building/AX3600/ipq807x-5.15/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/backports-6.1.24/net/wireless/util.c:590:3: ./include/linux/fortify-string.h:404:25: error: call to '__write_overflow_field' declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror=attribute-warning] 404 | __write_overflow_field(p_size_field, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors This issue was fixed in the final version of ("wifi: mac80211: fix receiving A-MSDU frames on mesh interfaces") that was merged upstream but we have a older version that is using: memcpy(&payload.eth.h_dest, mesh_addr, 2 * ETH_ALEN); instead of: memcpy(&payload.eth, mesh_addr, 2 * ETH_ALEN); So, lets just backport the merged version of patch to fix the issue. Signed-off-by: Robert Marko <robimarko@gmail.com>
* mac80211: brcm: drop brcmfmac patch waiting for register_wiphy()Rafał Miłecki2023-05-22
| | | | | | | | | | | | | | 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>
* mac80211: fix mt7601u firmware path and refresh patchesDaniel Golle2023-05-18
| | | | | | | 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-12
| | | | | | | | | | | | | | 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-12
| | | | | | | | | | | | 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-06
| | | | | | | | | 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-23
| | | | | | | | | 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-18
| | | | | | | | 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-18
| | | | | | Drop patches accepted upstream Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: ath11k: sync with ath-nextRobert Marko2023-04-12
| | | | | | | | | | | | 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-11
| | | | | | | | | | | | | | | | | | | | | | | | | 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-07
| | | | | | | | | 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-01
| | | | | | | | | | | | 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-30
| | | | | | Fixes CVE-2022-47522 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix receiving mesh packets in forwarding=0 networksFelix Fietkau2023-03-26
| | | | | | | | 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-24
| | | | | | 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-23
| | | | | | | | 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-20
| | | | | | | | | | | | 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-19
| | | | | | Add kernel tags to the patches that got accepted upstream. Signed-off-by: Nick Hainke <vincent@systemli.org>
* mac80211: enable ATH9K_HWRNGRosen Penev2023-03-05
| | | | | | | | | 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-05
| | | | | | | | | | | | | 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-03
| | | | | 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-02
| | | | | | | 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-02
| | | | | | Required by a mt76 update Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: backport upstream HE/VHT capability handling changesFelix Fietkau2023-03-02
| | | | | | 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-02
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix mesh path discovery based on unicast packetsFelix Fietkau2023-02-26
| | | | | | | | | 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-26
| | | | | | | 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-26
| | | | | | 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-22
| | | | | | | | | | | | 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-20
| | | | | | | 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-13
| | | | | | | | 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-29
| | | | | | It is needed for an upcoming mt76 update Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: use 802.11ax iw modesDavid Bauer2023-01-28
| | | | | | | | | | 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-16
| | | | | | | | | | | | | | | | | 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-16
| | | | | | | | | | | | 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>