Skip to content

Commit 8c73e8b

Browse files
committed
Merge tag 'wireless-next-2024-04-03' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next
Kalle Valo says: ==================== wireless-next patches for v6.10 The first "new features" pull request for v6.10 with changes both in stack and in drivers. The big thing in this pull request is that wireless subsystem is now almost free of sparse warnings. There's only one warning left in ath11k which was introduced in v6.9-rc1 and will be fixed via the wireless tree. Realtek drivers continue to improve, now we have support for RTL8922AE and RTL8723CS devices. ath11k also has long waited support for P2P. This time we have a small conflict in iwlwifi, Stephen has an example merge resolution which should help with fixing the conflict: https://lore.kernel.org/all/20240326100945.765b8caf@canb.auug.org.au/ Major changes: rtw89 * RTL8922AE Wi-Fi 7 PCI device support rtw88 * RTL8723CS SDIO device support iwlwifi * don't support puncturing in 5 GHz * support monitor mode on passive channels * BZ-W device support * P2P with HE/EHT support ath11k * P2P support for QCA6390, WCN6855 and QCA2066 * tag 'wireless-next-2024-04-03' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next: (122 commits) wifi: mt76: mt7915: workaround dubious x | !y warning wifi: mwl8k: Avoid -Wflex-array-member-not-at-end warnings wifi: ti: Avoid a hundred -Wflex-array-member-not-at-end warnings wifi: iwlwifi: mvm: fix check in iwl_mvm_sta_fw_id_mask net: rfkill: gpio: Convert to platform remove callback returning void wifi: mac80211: use kvcalloc() for codel vars wifi: iwlwifi: reconfigure TLC during HW restart wifi: iwlwifi: mvm: don't change BA sessions during restart wifi: iwlwifi: mvm: select STA mask only for active links wifi: iwlwifi: mvm: set wider BW OFDMA ignore correctly wifi: iwlwifi: Add support for LARI_CONFIG_CHANGE_CMD cmd v9 wifi: iwlwifi: mvm: Declare HE/EHT capabilities support for P2P interfaces wifi: iwlwifi: mvm: Remove outdated comment wifi: iwlwifi: add support for BZ_W wifi: iwlwifi: Print a specific device name. wifi: iwlwifi: remove wrong CRF_IDs wifi: iwlwifi: remove devices that never came out wifi: iwlwifi: mvm: mark EMLSR disabled in cleanup iterator wifi: iwlwifi: mvm: fix active link counting during recovery wifi: iwlwifi: mvm: assign link STA ID lookups during restart ... ==================== Link: https://lore.kernel.org/r/20240403093625.CF515C433C7@smtp.kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2 parents ca3e10c + 0ccf50d commit 8c73e8b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

124 files changed

+7806
-1810
lines changed

Documentation/devicetree/bindings/net/wireless/brcm,bcm4329-fmac.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ properties:
4444
- brcm,bcm4366-fmac
4545
- cypress,cyw4373-fmac
4646
- cypress,cyw43012-fmac
47+
- infineon,cyw43439-fmac
4748
- const: brcm,bcm4329-fmac
4849
- enum:
4950
- brcm,bcm4329-fmac

drivers/bcma/host_soc.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -240,15 +240,13 @@ static int bcma_host_soc_probe(struct platform_device *pdev)
240240
return err;
241241
}
242242

243-
static int bcma_host_soc_remove(struct platform_device *pdev)
243+
static void bcma_host_soc_remove(struct platform_device *pdev)
244244
{
245245
struct bcma_bus *bus = platform_get_drvdata(pdev);
246246

247247
bcma_bus_unregister(bus);
248248
iounmap(bus->mmio);
249249
platform_set_drvdata(pdev, NULL);
250-
251-
return 0;
252250
}
253251

254252
static const struct of_device_id bcma_host_soc_of_match[] = {
@@ -263,7 +261,7 @@ static struct platform_driver bcma_host_soc_driver = {
263261
.of_match_table = bcma_host_soc_of_match,
264262
},
265263
.probe = bcma_host_soc_probe,
266-
.remove = bcma_host_soc_remove,
264+
.remove_new = bcma_host_soc_remove,
267265
};
268266

269267
int __init bcma_host_soc_register_driver(void)

drivers/net/wireless/ath/ath10k/thermal.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ static ssize_t ath10k_thermal_show_temp(struct device *dev,
100100
spin_unlock_bh(&ar->data_lock);
101101

102102
/* display in millidegree celsius */
103-
ret = snprintf(buf, PAGE_SIZE, "%d\n", temperature * 1000);
103+
ret = sysfs_emit(buf, "%d\n", temperature * 1000);
104104
out:
105105
mutex_unlock(&ar->conf_mutex);
106106
return ret;

drivers/net/wireless/ath/ath10k/wmi.c

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1763,12 +1763,32 @@ void ath10k_wmi_put_wmi_channel(struct ath10k *ar, struct wmi_channel *ch,
17631763

17641764
int ath10k_wmi_wait_for_service_ready(struct ath10k *ar)
17651765
{
1766-
unsigned long time_left;
1766+
unsigned long time_left, i;
17671767

17681768
time_left = wait_for_completion_timeout(&ar->wmi.service_ready,
17691769
WMI_SERVICE_READY_TIMEOUT_HZ);
1770-
if (!time_left)
1771-
return -ETIMEDOUT;
1770+
if (!time_left) {
1771+
/* Sometimes the PCI HIF doesn't receive interrupt
1772+
* for the service ready message even if the buffer
1773+
* was completed. PCIe sniffer shows that it's
1774+
* because the corresponding CE ring doesn't fires
1775+
* it. Workaround here by polling CE rings once.
1776+
*/
1777+
ath10k_warn(ar, "failed to receive service ready completion, polling..\n");
1778+
1779+
for (i = 0; i < CE_COUNT; i++)
1780+
ath10k_hif_send_complete_check(ar, i, 1);
1781+
1782+
time_left = wait_for_completion_timeout(&ar->wmi.service_ready,
1783+
WMI_SERVICE_READY_TIMEOUT_HZ);
1784+
if (!time_left) {
1785+
ath10k_warn(ar, "polling timed out\n");
1786+
return -ETIMEDOUT;
1787+
}
1788+
1789+
ath10k_warn(ar, "service ready completion received, continuing normally\n");
1790+
}
1791+
17721792
return 0;
17731793
}
17741794

drivers/net/wireless/ath/ath11k/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ ath11k-y += core.o \
1818
dbring.o \
1919
hw.o \
2020
pcic.o \
21-
fw.o
21+
fw.o \
22+
p2p.o
2223

2324
ath11k-$(CONFIG_ATH11K_DEBUGFS) += debugfs.o debugfs_htt_stats.o debugfs_sta.o
2425
ath11k-$(CONFIG_NL80211_TESTMODE) += testmode.o

drivers/net/wireless/ath/ath11k/core.c

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,10 @@ static const struct ath11k_hw_params ath11k_hw_params[] = {
247247
},
248248

249249
.interface_modes = BIT(NL80211_IFTYPE_STATION) |
250-
BIT(NL80211_IFTYPE_AP),
250+
BIT(NL80211_IFTYPE_AP) |
251+
BIT(NL80211_IFTYPE_P2P_DEVICE) |
252+
BIT(NL80211_IFTYPE_P2P_CLIENT) |
253+
BIT(NL80211_IFTYPE_P2P_GO),
251254
.supports_monitor = false,
252255
.full_monitor_mode = false,
253256
.supports_shadow_regs = true,
@@ -416,7 +419,10 @@ static const struct ath11k_hw_params ath11k_hw_params[] = {
416419
},
417420

418421
.interface_modes = BIT(NL80211_IFTYPE_STATION) |
419-
BIT(NL80211_IFTYPE_AP),
422+
BIT(NL80211_IFTYPE_AP) |
423+
BIT(NL80211_IFTYPE_P2P_DEVICE) |
424+
BIT(NL80211_IFTYPE_P2P_CLIENT) |
425+
BIT(NL80211_IFTYPE_P2P_GO),
420426
.supports_monitor = false,
421427
.full_monitor_mode = false,
422428
.supports_shadow_regs = true,
@@ -501,7 +507,10 @@ static const struct ath11k_hw_params ath11k_hw_params[] = {
501507
},
502508

503509
.interface_modes = BIT(NL80211_IFTYPE_STATION) |
504-
BIT(NL80211_IFTYPE_AP),
510+
BIT(NL80211_IFTYPE_AP) |
511+
BIT(NL80211_IFTYPE_P2P_DEVICE) |
512+
BIT(NL80211_IFTYPE_P2P_CLIENT) |
513+
BIT(NL80211_IFTYPE_P2P_GO),
505514
.supports_monitor = false,
506515
.supports_shadow_regs = true,
507516
.idle_ps = true,
@@ -750,7 +759,10 @@ static const struct ath11k_hw_params ath11k_hw_params[] = {
750759
},
751760

752761
.interface_modes = BIT(NL80211_IFTYPE_STATION) |
753-
BIT(NL80211_IFTYPE_AP),
762+
BIT(NL80211_IFTYPE_AP) |
763+
BIT(NL80211_IFTYPE_P2P_DEVICE) |
764+
BIT(NL80211_IFTYPE_P2P_CLIENT) |
765+
BIT(NL80211_IFTYPE_P2P_GO),
754766
.supports_monitor = false,
755767
.full_monitor_mode = false,
756768
.supports_shadow_regs = true,

drivers/net/wireless/ath/ath11k/debugfs.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// SPDX-License-Identifier: BSD-3-Clause-Clear
22
/*
33
* Copyright (c) 2018-2020 The Linux Foundation. All rights reserved.
4-
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
4+
* Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
55
*/
66

77
#include <linux/vmalloc.h>
@@ -980,7 +980,7 @@ int ath11k_debugfs_pdev_create(struct ath11k_base *ab)
980980
debugfs_create_file("simulate_fw_crash", 0600, ab->debugfs_soc, ab,
981981
&fops_simulate_fw_crash);
982982

983-
debugfs_create_file("soc_dp_stats", 0600, ab->debugfs_soc, ab,
983+
debugfs_create_file("soc_dp_stats", 0400, ab->debugfs_soc, ab,
984984
&fops_soc_dp_stats);
985985

986986
if (ab->hw_params.sram_dump.start != 0)

0 commit comments

Comments
 (0)