mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-12-20 10:51:27 +00:00
65 lines
2.5 KiB
Diff
65 lines
2.5 KiB
Diff
From 5eaac5d27f7448eb05d36fe900850182b334ecd9 Mon Sep 17 00:00:00 2001
|
|
From: Karthikeyan Kathirvel <quic_kathirve@quicinc.com>
|
|
Date: Fri, 17 Mar 2023 13:30:36 +0530
|
|
Subject: [PATCH] ath12k: add mac address for monitor mode vdev
|
|
|
|
Fix below firmware assertion
|
|
|
|
[ 633.757080] QC Image Version: QC_IMAGE_VERSION_STRING=WLAN.WBE.1.1-01766-QCAHKSWPL_SILICONZ-1
|
|
[ 633.757080] Image Variant : IMAGE_VARIANT_STRING=9224.wlanfw.eval_v2Q
|
|
[ 633.757080] Oem Image Version: OEM_IMAGE_VERSION_STRING=CRM
|
|
[ 633.757080] Oem Image UUID: OEM_IMAGE_UUID_STRING=Q_SENTINEL_{7B924967-D38F-4ACC-9145-3083E0338DB6}_20230214_215848
|
|
[ 633.757080]
|
|
[ 633.757080] wlan_peer.c:567 Assertion !((!node_addr[0]) && (!node_addr[1]) && (!node_addr[2]) && (!node_addparam0 :zero, param1 :zero, param2 :zero.
|
|
[ 633.757080] Thread ID : 0x0000001c Thread name : WLAN RT0 Process ID : 255
|
|
[ 633.757080] Register:
|
|
[ 633.757080] SP : 0x01658d78
|
|
[ 633.757080] FP : 0x01658d80
|
|
[ 633.757080] PC : 0x0122fe5c
|
|
[ 633.757080] SSR : 0x00000008
|
|
[ 633.757080] BADVA : 0x0207f1d8
|
|
[ 633.757080] LR : 0x0122ff04
|
|
[ 633.757080]
|
|
[ 633.757080] Stack Dump
|
|
[ 633.757080] from : 0x01658d78
|
|
[ 633.757080] to : 0x01659398
|
|
|
|
Currently firmware expects non-null vdev mac address, so fill monitor
|
|
vdev address with radio mac address.
|
|
|
|
Signed-off-by: Karthikeyan Kathirvel <quic_kathirve@quicinc.com>
|
|
---
|
|
drivers/net/wireless/ath/ath12k/mac.c | 3 +--
|
|
1 file changed, 1 insertion(+), 2 deletions(-)
|
|
|
|
--- a/drivers/net/wireless/ath/ath12k/mac.c
|
|
+++ b/drivers/net/wireless/ath/ath12k/mac.c
|
|
@@ -1181,7 +1181,6 @@ static int ath12k_mac_monitor_vdev_creat
|
|
struct ath12k_pdev *pdev = ar->pdev;
|
|
struct vdev_create_params param;
|
|
int bit, ret = 0;
|
|
- u8 tmp_addr[6] = {0};
|
|
u16 nss = 0;
|
|
|
|
lockdep_assert_held(&ar->conf_mutex);
|
|
@@ -1216,7 +1215,7 @@ static int ath12k_mac_monitor_vdev_creat
|
|
param.chains[NL80211_BAND_5GHZ].rx = ar->num_rx_chains;
|
|
}
|
|
|
|
- ret = ath12k_wmi_vdev_create(ar, tmp_addr, ¶m);
|
|
+ ret = ath12k_wmi_vdev_create(ar, ar->mac_addr, ¶m);
|
|
if (ret) {
|
|
ath12k_warn(ar->ab, "failed to request monitor vdev %i creation: %d\n",
|
|
ar->monitor_vdev_id, ret);
|
|
@@ -9389,7 +9388,9 @@ static int ath12k_mac_vdev_create(struct
|
|
goto err;
|
|
}
|
|
|
|
- ret = ath12k_wmi_vdev_create(ar, link_addr, &vdev_param);
|
|
+ ret = ath12k_wmi_vdev_create(ar, vdev_param.type == WMI_VDEV_TYPE_MONITOR ?
|
|
+ ar->mac_addr : link_addr,
|
|
+ &vdev_param);
|
|
if (ret) {
|
|
ath12k_warn(ab, "failed to create WMI vdev %d: %d\n",
|
|
arvif->vdev_id, ret);
|