Skip to content

Commit 6f5dc19

Browse files
committed
Merge tag 'ath-next-20260526' of git://git.kernel.org/pub/scm/linux/kernel/git/ath/ath
Jeff Johnson says: ================== ath.git patches for v7.2 (PR #2) For ath12k: - Add thermal throttling and cooling device support - Add support for handling incumbent signal interference in 6 GHz - Add support for channel 177 in the 5 GHz band In addition, a large number of cleanup and minor bug fixing across all supported drivers. ================== Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2 parents 9658d9f + d5c3361 commit 6f5dc19

30 files changed

Lines changed: 1180 additions & 196 deletions

drivers/net/wireless/ath/ath10k/core.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1269,7 +1269,6 @@ struct ath10k {
12691269
} testmode;
12701270

12711271
struct {
1272-
struct gpio_led wifi_led;
12731272
struct led_classdev cdev;
12741273
char label[48];
12751274
u32 gpio_state_pin;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1353,7 +1353,7 @@ static int ath10k_htt_tx_hl(struct ath10k_htt *htt, enum ath10k_hw_txrx_mode txm
13531353
msdu_id = res;
13541354
}
13551355

1356-
/* As msdu is freed by mac80211 (in ieee80211_tx_status()) and by
1356+
/* As msdu is freed by mac80211 (in ieee80211_tx_status_skb()) and by
13571357
* ath10k (in ath10k_htt_htc_tx_complete()) we have to increase
13581358
* reference by one to avoid a use-after-free case and a double
13591359
* free.

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

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,13 @@ static int ath10k_leds_set_brightness_blocking(struct led_classdev *led_cdev,
1919
{
2020
struct ath10k *ar = container_of(led_cdev, struct ath10k,
2121
leds.cdev);
22-
struct gpio_led *led = &ar->leds.wifi_led;
2322

2423
mutex_lock(&ar->conf_mutex);
2524

2625
if (ar->state != ATH10K_STATE_ON)
2726
goto out;
2827

29-
ar->leds.gpio_state_pin = (brightness != LED_OFF) ^ led->active_low;
30-
ath10k_wmi_gpio_output(ar, ar->hw_params.led_pin, ar->leds.gpio_state_pin);
28+
ath10k_wmi_gpio_output(ar, ar->hw_params.led_pin, brightness == LED_OFF);
3129

3230
out:
3331
mutex_unlock(&ar->conf_mutex);
@@ -63,13 +61,9 @@ int ath10k_leds_register(struct ath10k *ar)
6361

6462
snprintf(ar->leds.label, sizeof(ar->leds.label), "ath10k-%s",
6563
wiphy_name(ar->hw->wiphy));
66-
ar->leds.wifi_led.active_low = 1;
67-
ar->leds.wifi_led.name = ar->leds.label;
68-
ar->leds.wifi_led.default_state = LEDS_GPIO_DEFSTATE_KEEP;
6964

7065
ar->leds.cdev.name = ar->leds.label;
7166
ar->leds.cdev.brightness_set_blocking = ath10k_leds_set_brightness_blocking;
72-
ar->leds.cdev.default_trigger = ar->leds.wifi_led.default_trigger;
7367

7468
ret = led_classdev_register(wiphy_dev(ar->hw->wiphy), &ar->leds.cdev);
7569
if (ret)

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// SPDX-License-Identifier: ISC
22
/*
33
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
4-
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
4+
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
55
*/
66

77
#include <linux/completion.h>
@@ -1112,7 +1112,7 @@ int ath10k_qmi_init(struct ath10k *ar, u32 msa_size)
11121112
spin_lock_init(&qmi->event_lock);
11131113
INIT_WORK(&qmi->event_work, ath10k_qmi_driver_event_work);
11141114

1115-
ret = qmi_add_lookup(&qmi->qmi_hdl, WLFW_SERVICE_ID_V01,
1115+
ret = qmi_add_lookup(&qmi->qmi_hdl, QMI_SERVICE_ID_WLFW,
11161116
WLFW_SERVICE_VERS_V01, 0);
11171117
if (ret)
11181118
goto err_qmi_lookup;

drivers/net/wireless/ath/ath10k/qmi_wlfw_v01.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
#ifndef WCN3990_QMI_SVC_V01_H
88
#define WCN3990_QMI_SVC_V01_H
99

10-
#define WLFW_SERVICE_ID_V01 0x45
1110
#define WLFW_SERVICE_VERS_V01 0x01
1211

1312
#define QMI_WLFW_BDF_DOWNLOAD_REQ_V01 0x0025

drivers/net/wireless/ath/ath11k/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# SPDX-License-Identifier: BSD-3-Clause-Clear
22
config ATH11K
3-
tristate "Qualcomm Technologies 802.11ax chipset support"
3+
tristate "Qualcomm 802.11ax chipset support"
44
depends on MAC80211 && HAS_DMA
55
select ATH_COMMON
66
select QCOM_QMI_HELPERS

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1040,6 +1040,7 @@ void ath11k_dp_free(struct ath11k_base *ab)
10401040
idr_destroy(&dp->tx_ring[i].txbuf_idr);
10411041
spin_unlock_bh(&dp->tx_ring[i].tx_idr_lock);
10421042
kfree(dp->tx_ring[i].tx_status);
1043+
dp->tx_ring[i].tx_status = NULL;
10431044
}
10441045

10451046
/* Deinit any SOC level resource */

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

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

77
#include <linux/msi.h>
@@ -282,8 +282,10 @@ static void ath11k_mhi_op_status_cb(struct mhi_controller *mhi_cntrl,
282282
break;
283283
}
284284

285+
spin_lock_bh(&ab->base_lock);
285286
if (!(test_bit(ATH11K_FLAG_UNREGISTERING, &ab->dev_flags)))
286287
queue_work(ab->workqueue_aux, &ab->reset_work);
288+
spin_unlock_bh(&ab->base_lock);
287289

288290
break;
289291
default:

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1210,6 +1210,14 @@ static void ath11k_pci_shutdown(struct pci_dev *pdev)
12101210
struct ath11k_pci *ab_pci = ath11k_pci_priv(ab);
12111211

12121212
ath11k_pci_set_irq_affinity_hint(ab_pci, NULL);
1213+
1214+
spin_lock_bh(&ab->base_lock);
1215+
set_bit(ATH11K_FLAG_UNREGISTERING, &ab->dev_flags);
1216+
spin_unlock_bh(&ab->base_lock);
1217+
1218+
cancel_work_sync(&ab->reset_work);
1219+
cancel_work_sync(&ab->dump_work);
1220+
12131221
ath11k_pci_power_down(ab, false);
12141222
}
12151223

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// SPDX-License-Identifier: BSD-3-Clause-Clear
22
/*
33
* Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
4-
* Copyright (c) 2021-2025 Qualcomm Innovation Center, Inc. All rights reserved.
54
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
65
*/
76

@@ -3337,7 +3336,7 @@ int ath11k_qmi_init_service(struct ath11k_base *ab)
33373336
spin_lock_init(&ab->qmi.event_lock);
33383337
INIT_WORK(&ab->qmi.event_work, ath11k_qmi_driver_event_work);
33393338

3340-
ret = qmi_add_lookup(&ab->qmi.handle, ATH11K_QMI_WLFW_SERVICE_ID_V01,
3339+
ret = qmi_add_lookup(&ab->qmi.handle, QMI_SERVICE_ID_WLFW,
33413340
ATH11K_QMI_WLFW_SERVICE_VERS_V01,
33423341
ab->qmi.service_ins_id);
33433342
if (ret < 0) {

0 commit comments

Comments
 (0)