mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-29 01:22:25 +00:00
Compare commits
5 Commits
led_respec
...
staging-WI
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
60a714f15d | ||
|
|
c27b015a63 | ||
|
|
02c2e6945b | ||
|
|
e7cd5038ac | ||
|
|
34e4a01e25 |
@@ -0,0 +1,10 @@
|
||||
--- a/drivers/net/wireless/ath/ath11k/peer.c
|
||||
+++ b/drivers/net/wireless/ath/ath11k/peer.c
|
||||
@@ -902,6 +902,7 @@ int ath11k_peer_create(struct ath11k *ar
|
||||
if (vdev_id == param->vdev_id)
|
||||
return -EINVAL;
|
||||
|
||||
+ ath11k_dp_peer_cleanup(ar, vdev_id, param->peer_addr);
|
||||
ath11k_peer_delete(ar, vdev_id, param->peer_addr);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
From f211976a35c898f39d5a2602dd2a076a7b7cebd2 Mon Sep 17 00:00:00 2001
|
||||
From: Arif Alam <arif.alam@netexperience.com>
|
||||
Date: Tue, 2 Sep 2025 20:07:06 -0400
|
||||
Subject: [PATCH] ath11k: improve peer deletion timeout and error handling
|
||||
|
||||
Signed-off-by: Arif Alam <arif.alam@netexperience.com>
|
||||
---
|
||||
drivers/net/wireless/ath/ath11k/peer.c | 9 ++++++---
|
||||
drivers/net/wireless/ath/ath11k/peer.h | 2 ++
|
||||
2 files changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/ath/ath11k/peer.c b/drivers/net/wireless/ath/ath11k/peer.c
|
||||
index 1907067..d5dbf40 100644
|
||||
--- a/drivers/net/wireless/ath/ath11k/peer.c
|
||||
+++ b/drivers/net/wireless/ath/ath11k/peer.c
|
||||
@@ -771,7 +771,7 @@ int ath11k_wait_for_peer_delete_done(struct ath11k *ar, u32 vdev_id,
|
||||
}
|
||||
|
||||
time_left = wait_for_completion_timeout(&ar->peer_delete_done,
|
||||
- 3 * HZ);
|
||||
+ msecs_to_jiffies(ATH11K_PEER_DELETE_MSG_TIMEOUT_MS));
|
||||
if (time_left == 0) {
|
||||
ath11k_warn(ar->ab, "Timeout in receiving peer delete response\n");
|
||||
return -ETIMEDOUT;
|
||||
@@ -857,8 +857,11 @@ int ath11k_peer_delete(struct ath11k *ar, u32 vdev_id, u8 *addr)
|
||||
}
|
||||
|
||||
ret = ath11k_wait_for_peer_delete_done(ar, vdev_id, addr);
|
||||
- if (ret)
|
||||
- return ret;
|
||||
+ if (ret) {
|
||||
+ ath11k_warn(ar->ab,
|
||||
+ "failed wait for peer %pM delete done id %d ret %d\n",
|
||||
+ addr, vdev_id, ret);
|
||||
+ }
|
||||
|
||||
ATH11K_MEMORY_STATS_DEC(ar->ab, per_peer_object,
|
||||
sizeof(struct ath11k_peer));
|
||||
diff --git a/drivers/net/wireless/ath/ath11k/peer.h b/drivers/net/wireless/ath/ath11k/peer.h
|
||||
index c1a6464..ca20627 100644
|
||||
--- a/drivers/net/wireless/ath/ath11k/peer.h
|
||||
+++ b/drivers/net/wireless/ath/ath11k/peer.h
|
||||
@@ -6,6 +6,8 @@
|
||||
#ifndef ATH11K_PEER_H
|
||||
#define ATH11K_PEER_H
|
||||
|
||||
+#define ATH11K_PEER_DELETE_MSG_TIMEOUT_MS 100
|
||||
+
|
||||
struct ppdu_user_delayba {
|
||||
u8 reserved0;
|
||||
u16 sw_peer_id;
|
||||
--
|
||||
2.50.1
|
||||
|
||||
@@ -200,7 +200,7 @@
|
||||
phy-mode = "sgmii";
|
||||
full-duplex;
|
||||
pause;
|
||||
airoha,surge = <1>;
|
||||
airoha,surge = <0>;
|
||||
airoha,polarity = <2>;
|
||||
};
|
||||
|
||||
|
||||
@@ -49,10 +49,12 @@ function detect_certificate_type() {
|
||||
let issuer = pipe.read("all");
|
||||
pipe.close();
|
||||
|
||||
if (!match(issuer, /Telecom Infra Project Issuing CA/)) {
|
||||
if (match(issuer, /OpenLAN Demo Birth CA/)) {
|
||||
ulog(LOG_INFO, 'Certificate type is "Demo" \n');
|
||||
cds_server = 'discovery-qa.open-lan.org';
|
||||
timeouts.expiry_threshold = 3 * 24 * 60 * 60;
|
||||
} else if (match(issuer, /OpenLAN Birth Issuing CA/)) {
|
||||
ulog(LOG_INFO, 'Certificate type is "Production"\n');
|
||||
} else {
|
||||
ulog(LOG_INFO, 'Certificate type is "TIP"\n');
|
||||
}
|
||||
|
||||
@@ -16,9 +16,11 @@ function set_est_server() {
|
||||
let issuer = pipe.read("all");
|
||||
pipe.close();
|
||||
|
||||
if (!match(issuer, /Telecom Infra Project Issuing CA/)) {
|
||||
if (match(issuer, /OpenLAN Demo Birth CA/)) {
|
||||
ulog(LOG_INFO, 'Certificate type is "Demo" \n');
|
||||
est_server = 'qaest.certificates.open-lan.org:8001';
|
||||
} else if (match(issuer, /OpenLAN Birth Issuing CA/)) {
|
||||
ulog(LOG_INFO, 'Certificate type is "Production"\n');
|
||||
} else {
|
||||
ulog(LOG_INFO, 'Certificate type is "TIP"\n');
|
||||
}
|
||||
@@ -165,7 +167,7 @@ function fwtool() {
|
||||
let issuer = pipe.read("all");
|
||||
pipe.close();
|
||||
|
||||
if (!(match(issuer, /OpenLAN/) && match(issuer, /Birth CA/)))
|
||||
if (!(match(issuer, /OpenLAN/) && match(issuer, /Birth/)))
|
||||
return 0;
|
||||
|
||||
ulog(LOG_INFO, 'The issuer is insta\n');
|
||||
|
||||
@@ -20,6 +20,7 @@ let config;
|
||||
let offline_timer;
|
||||
let current_state;
|
||||
let online = false;
|
||||
let leds_off = false;
|
||||
|
||||
function self_healing() {
|
||||
let heal_wifi = false;
|
||||
@@ -148,6 +149,13 @@ function online_handler() {
|
||||
|
||||
function config_load() {
|
||||
ulog(LOG_INFO, 'loading config\n');
|
||||
|
||||
uci.load('system');
|
||||
let led_off_cfg = uci.get("system", "@system[0]", "leds_off");
|
||||
if (led_off_cfg == 1) {
|
||||
leds_off = true;
|
||||
}
|
||||
|
||||
uci.load('state');
|
||||
config = uci.get_all('state');
|
||||
|
||||
@@ -191,7 +199,7 @@ function led_find(alias) {
|
||||
function factory_reset_timeout() {
|
||||
let led = led_find('led-running');
|
||||
if (led)
|
||||
led_write(led, 'trigger', 'default-on');
|
||||
led_write(led, 'trigger', leds-off ? 'none' : 'default-on');
|
||||
}
|
||||
|
||||
let blink_timer;
|
||||
@@ -210,7 +218,7 @@ let state_handler = {
|
||||
offline: function() {
|
||||
online = false;
|
||||
let led = led_find('led-running');
|
||||
if (led)
|
||||
if (!leds_off && led)
|
||||
led_write(led, 'trigger', 'heartbeat');
|
||||
if (config.ui.offline_trigger) {
|
||||
if (offline_timer)
|
||||
@@ -223,7 +231,7 @@ let state_handler = {
|
||||
online: function() {
|
||||
online = true;
|
||||
let led = led_find('led-running');
|
||||
if (led)
|
||||
if (!leds_off && led)
|
||||
led_write(led, 'trigger', 'default-on');
|
||||
online_handler();
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user