Skip to content

Commit 4ae5da3

Browse files
committed
sunxi: xradio: Switching from del_timer_sync to timer_delete_sync
This was introduced in 6.2 but was removed from the kernel code in 6.15. We are currently building cores for sunxi starting from 6.6. Therefore, a simple replacement without conditions.
1 parent 4247c6a commit 4ae5da3

File tree

2 files changed

+125
-0
lines changed

2 files changed

+125
-0
lines changed

lib/functions/compilation/patch/drivers_network.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,8 @@ driver_xradio_xr819() {
245245
>> "$kerneldir/drivers/net/wireless/Makefile"
246246
sed -i '/source "drivers\/net\/wireless\/ti\/Kconfig"/a source "drivers\/net\/wireless\/xradio\/Kconfig"' \
247247
"$kerneldir/drivers/net/wireless/Kconfig"
248+
249+
process_patch_file "${SRC}/patch/misc/xradio-Switching-from-del_timer_sync-to-timer_delete_sync.patch" "applying"
248250
fi
249251
}
250252

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
From 4cec41678369fae41c37ccfecaa4e0eadc04f472 Mon Sep 17 00:00:00 2001
2+
From: The-going <[email protected]>
3+
Date: Sat, 7 Jun 2025 17:00:14 +0000
4+
Subject: xradio: Switching from del_timer_sync to timer_delete_sync
5+
6+
This was introduced in 6.2 but was removed from the kernel code
7+
in 6.15.
8+
We are currently building cores for sunxi starting from 6.6.
9+
Therefore, a simple replacement without conditions.
10+
11+
Signed-off-by: The-going <[email protected]>
12+
---
13+
drivers/net/wireless/xradio/ap.c | 4 ++--
14+
drivers/net/wireless/xradio/main.c | 2 +-
15+
drivers/net/wireless/xradio/pm.c | 2 +-
16+
drivers/net/wireless/xradio/queue.c | 2 +-
17+
drivers/net/wireless/xradio/sta.c | 8 ++++----
18+
5 files changed, 9 insertions(+), 9 deletions(-)
19+
20+
diff --git a/drivers/net/wireless/xradio/ap.c b/drivers/net/wireless/xradio/ap.c
21+
index 649d6bf97674..266106322143 100644
22+
--- a/drivers/net/wireless/xradio/ap.c
23+
+++ b/drivers/net/wireless/xradio/ap.c
24+
@@ -874,7 +874,7 @@ void xradio_multicast_stop_work(struct work_struct *work)
25+
container_of(work, struct xradio_vif, multicast_stop_work);
26+
27+
if (priv->aid0_bit_set) {
28+
- del_timer_sync(&priv->mcast_timeout);
29+
+ timer_delete_sync(&priv->mcast_timeout);
30+
wsm_lock_tx(priv->hw_priv);
31+
priv->aid0_bit_set = false;
32+
xradio_set_tim_impl(priv, false);
33+
@@ -954,7 +954,7 @@ void xradio_suspend_resume(struct xradio_vif *priv, struct wsm_suspend_resume *a
34+
}
35+
spin_unlock_bh(&priv->ps_state_lock);
36+
if (cancel_tmo)
37+
- del_timer_sync(&priv->mcast_timeout);
38+
+ timer_delete_sync(&priv->mcast_timeout);
39+
} else {
40+
spin_lock_bh(&priv->ps_state_lock);
41+
xradio_ps_notify(priv, arg->link_id, arg->stop);
42+
diff --git a/drivers/net/wireless/xradio/main.c b/drivers/net/wireless/xradio/main.c
43+
index a30c604f5337..902c173c03e8 100644
44+
--- a/drivers/net/wireless/xradio/main.c
45+
+++ b/drivers/net/wireless/xradio/main.c
46+
@@ -440,7 +440,7 @@ void xradio_free_common(struct ieee80211_hw *dev)
47+
struct xradio_common *hw_priv = dev->priv;
48+
49+
cancel_work_sync(&hw_priv->query_work);
50+
- del_timer_sync(&hw_priv->ba_timer);
51+
+ timer_delete_sync(&hw_priv->ba_timer);
52+
mutex_destroy(&hw_priv->wsm_oper_lock);
53+
mutex_destroy(&hw_priv->conf_mutex);
54+
mutex_destroy(&hw_priv->wsm_cmd_mux);
55+
diff --git a/drivers/net/wireless/xradio/pm.c b/drivers/net/wireless/xradio/pm.c
56+
index 0a7bd14b5c8c..85ca676d69ad 100644
57+
--- a/drivers/net/wireless/xradio/pm.c
58+
+++ b/drivers/net/wireless/xradio/pm.c
59+
@@ -291,7 +291,7 @@ int xradio_pm_init(struct xradio_pm_state *pm,
60+
61+
void xradio_pm_deinit(struct xradio_pm_state *pm)
62+
{
63+
- del_timer_sync(&pm->stay_awake);
64+
+ timer_delete_sync(&pm->stay_awake);
65+
xradio_pm_deinit_common(pm);
66+
}
67+
68+
diff --git a/drivers/net/wireless/xradio/queue.c b/drivers/net/wireless/xradio/queue.c
69+
index 1bb7f0e90330..103259f4d869 100644
70+
--- a/drivers/net/wireless/xradio/queue.c
71+
+++ b/drivers/net/wireless/xradio/queue.c
72+
@@ -328,7 +328,7 @@ void xradio_queue_deinit(struct xradio_queue *queue)
73+
int i;
74+
75+
xradio_queue_clear(queue, XRWL_ALL_IFS);
76+
- del_timer_sync(&queue->gc);
77+
+ timer_delete_sync(&queue->gc);
78+
INIT_LIST_HEAD(&queue->free_pool);
79+
kfree(queue->pool);
80+
for (i = 0; i < XRWL_MAX_VIFS; i++) {
81+
diff --git a/drivers/net/wireless/xradio/sta.c b/drivers/net/wireless/xradio/sta.c
82+
index 2dddb26a905d..53013de18743 100644
83+
--- a/drivers/net/wireless/xradio/sta.c
84+
+++ b/drivers/net/wireless/xradio/sta.c
85+
@@ -139,7 +139,7 @@ void xradio_stop(struct ieee80211_hw *dev)
86+
cancel_delayed_work_sync(&hw_priv->scan.probe_work);
87+
cancel_delayed_work_sync(&hw_priv->scan.timeout);
88+
flush_workqueue(hw_priv->workqueue);
89+
- del_timer_sync(&hw_priv->ba_timer);
90+
+ timer_delete_sync(&hw_priv->ba_timer);
91+
92+
mutex_lock(&hw_priv->conf_mutex);
93+
94+
@@ -169,7 +169,7 @@ void xradio_stop(struct ieee80211_hw *dev)
95+
cancel_delayed_work_sync(&priv->bss_loss_work);
96+
cancel_delayed_work_sync(&priv->connection_loss_work);
97+
cancel_delayed_work_sync(&priv->link_id_gc_work);
98+
- del_timer_sync(&priv->mcast_timeout);
99+
+ timer_delete_sync(&priv->mcast_timeout);
100+
}
101+
102+
wsm_unlock_tx(hw_priv);
103+
@@ -329,7 +329,7 @@ void xradio_remove_interface(struct ieee80211_hw *dev,
104+
cancel_delayed_work_sync(&priv->set_cts_work);
105+
cancel_delayed_work_sync(&priv->pending_offchanneltx_work);
106+
107+
- del_timer_sync(&priv->mcast_timeout);
108+
+ timer_delete_sync(&priv->mcast_timeout);
109+
/* TODO:COMBO: May be reset of these variables "delayed_link_loss and
110+
* join_status to default can be removed as dev_priv will be freed by
111+
* mac80211 */
112+
@@ -1571,7 +1571,7 @@ void xradio_unjoin_work(struct work_struct *work)
113+
priv->ht_compat_cnt = 0;
114+
#endif
115+
116+
- del_timer_sync(&hw_priv->ba_timer);
117+
+ timer_delete_sync(&hw_priv->ba_timer);
118+
mutex_lock(&hw_priv->conf_mutex);
119+
if (unlikely(atomic_read(&hw_priv->scan.in_progress))) {
120+
if (atomic_xchg(&priv->delayed_unjoin, 1)) {
121+
--
122+
2.34.1
123+

0 commit comments

Comments
 (0)