fee038d90c5c72eb17d040638788ecf1a0a7a9bf
[librecmc/librecmc.git] /
1 From: Alexander Wetzel <alexander@wetzel-home.de>
2 Date: Sun, 9 Oct 2022 18:30:39 +0200
3 Subject: [PATCH] wifi: mac80211: add wake_tx_queue callback to drivers
4
5 mac80211 is fully switching over to the internal TX queue (iTXQ)
6 implementation. Update all drivers not yet providing the now mandatory
7 wake_tx_queue() callback.
8
9 As an side effect the netdev interfaces of all updated drivers will
10 switch to the noqueue qdisc.
11
12 Signed-off-by: Alexander Wetzel <alexander@wetzel-home.de>
13 [add staging drivers]
14 Signed-off-by: Johannes Berg <johannes.berg@intel.com>
15 ---
16
17 --- a/drivers/net/wireless/admtek/adm8211.c
18 +++ b/drivers/net/wireless/admtek/adm8211.c
19 @@ -1760,6 +1760,7 @@ static int adm8211_alloc_rings(struct ie
20  
21  static const struct ieee80211_ops adm8211_ops = {
22         .tx                     = adm8211_tx,
23 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
24         .start                  = adm8211_start,
25         .stop                   = adm8211_stop,
26         .add_interface          = adm8211_add_interface,
27 --- a/drivers/net/wireless/ath/ar5523/ar5523.c
28 +++ b/drivers/net/wireless/ath/ar5523/ar5523.c
29 @@ -1361,6 +1361,7 @@ static const struct ieee80211_ops ar5523
30         .start                  = ar5523_start,
31         .stop                   = ar5523_stop,
32         .tx                     = ar5523_tx,
33 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
34         .set_rts_threshold      = ar5523_set_rts_threshold,
35         .add_interface          = ar5523_add_interface,
36         .remove_interface       = ar5523_remove_interface,
37 --- a/drivers/net/wireless/ath/ath11k/mac.c
38 +++ b/drivers/net/wireless/ath/ath11k/mac.c
39 @@ -8587,6 +8587,7 @@ err_fallback:
40  
41  static const struct ieee80211_ops ath11k_ops = {
42         .tx                             = ath11k_mac_op_tx,
43 +       .wake_tx_queue                  = ieee80211_handle_wake_tx_queue,
44         .start                          = ath11k_mac_op_start,
45         .stop                           = ath11k_mac_op_stop,
46         .reconfig_complete              = ath11k_mac_op_reconfig_complete,
47 --- a/drivers/net/wireless/ath/ath5k/mac80211-ops.c
48 +++ b/drivers/net/wireless/ath/ath5k/mac80211-ops.c
49 @@ -781,6 +781,7 @@ static int ath5k_set_ringparam(struct ie
50  
51  const struct ieee80211_ops ath5k_hw_ops = {
52         .tx                     = ath5k_tx,
53 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
54         .start                  = ath5k_start,
55         .stop                   = ath5k_stop,
56         .add_interface          = ath5k_add_interface,
57 --- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
58 +++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
59 @@ -1870,6 +1870,7 @@ static void ath9k_htc_channel_switch_bea
60  
61  struct ieee80211_ops ath9k_htc_ops = {
62         .tx                 = ath9k_htc_tx,
63 +       .wake_tx_queue      = ieee80211_handle_wake_tx_queue,
64         .start              = ath9k_htc_start,
65         .stop               = ath9k_htc_stop,
66         .add_interface      = ath9k_htc_add_interface,
67 --- a/drivers/net/wireless/ath/carl9170/main.c
68 +++ b/drivers/net/wireless/ath/carl9170/main.c
69 @@ -1715,6 +1715,7 @@ static const struct ieee80211_ops carl91
70         .start                  = carl9170_op_start,
71         .stop                   = carl9170_op_stop,
72         .tx                     = carl9170_op_tx,
73 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
74         .flush                  = carl9170_op_flush,
75         .add_interface          = carl9170_op_add_interface,
76         .remove_interface       = carl9170_op_remove_interface,
77 --- a/drivers/net/wireless/ath/wcn36xx/main.c
78 +++ b/drivers/net/wireless/ath/wcn36xx/main.c
79 @@ -1362,6 +1362,7 @@ static const struct ieee80211_ops wcn36x
80         .prepare_multicast      = wcn36xx_prepare_multicast,
81         .configure_filter       = wcn36xx_configure_filter,
82         .tx                     = wcn36xx_tx,
83 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
84         .set_key                = wcn36xx_set_key,
85         .hw_scan                = wcn36xx_hw_scan,
86         .cancel_hw_scan         = wcn36xx_cancel_hw_scan,
87 --- a/drivers/net/wireless/atmel/at76c50x-usb.c
88 +++ b/drivers/net/wireless/atmel/at76c50x-usb.c
89 @@ -2187,6 +2187,7 @@ static int at76_set_key(struct ieee80211
90  
91  static const struct ieee80211_ops at76_ops = {
92         .tx = at76_mac80211_tx,
93 +       .wake_tx_queue = ieee80211_handle_wake_tx_queue,
94         .add_interface = at76_add_interface,
95         .remove_interface = at76_remove_interface,
96         .config = at76_config,
97 --- a/drivers/net/wireless/broadcom/b43/main.c
98 +++ b/drivers/net/wireless/broadcom/b43/main.c
99 @@ -5171,6 +5171,7 @@ static int b43_op_get_survey(struct ieee
100  
101  static const struct ieee80211_ops b43_hw_ops = {
102         .tx                     = b43_op_tx,
103 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
104         .conf_tx                = b43_op_conf_tx,
105         .add_interface          = b43_op_add_interface,
106         .remove_interface       = b43_op_remove_interface,
107 --- a/drivers/net/wireless/broadcom/b43legacy/main.c
108 +++ b/drivers/net/wireless/broadcom/b43legacy/main.c
109 @@ -3532,6 +3532,7 @@ static int b43legacy_op_get_survey(struc
110  
111  static const struct ieee80211_ops b43legacy_hw_ops = {
112         .tx                     = b43legacy_op_tx,
113 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
114         .conf_tx                = b43legacy_op_conf_tx,
115         .add_interface          = b43legacy_op_add_interface,
116         .remove_interface       = b43legacy_op_remove_interface,
117 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
118 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
119 @@ -962,6 +962,7 @@ static int brcms_ops_beacon_set_tim(stru
120  
121  static const struct ieee80211_ops brcms_ops = {
122         .tx = brcms_ops_tx,
123 +       .wake_tx_queue = ieee80211_handle_wake_tx_queue,
124         .start = brcms_ops_start,
125         .stop = brcms_ops_stop,
126         .add_interface = brcms_ops_add_interface,
127 --- a/drivers/net/wireless/intel/iwlegacy/3945-mac.c
128 +++ b/drivers/net/wireless/intel/iwlegacy/3945-mac.c
129 @@ -3439,6 +3439,7 @@ static const struct attribute_group il39
130  
131  static struct ieee80211_ops il3945_mac_ops __ro_after_init = {
132         .tx = il3945_mac_tx,
133 +       .wake_tx_queue = ieee80211_handle_wake_tx_queue,
134         .start = il3945_mac_start,
135         .stop = il3945_mac_stop,
136         .add_interface = il_mac_add_interface,
137 --- a/drivers/net/wireless/intel/iwlegacy/4965-mac.c
138 +++ b/drivers/net/wireless/intel/iwlegacy/4965-mac.c
139 @@ -6308,6 +6308,7 @@ il4965_tx_queue_set_status(struct il_pri
140  
141  static const struct ieee80211_ops il4965_mac_ops = {
142         .tx = il4965_mac_tx,
143 +       .wake_tx_queue = ieee80211_handle_wake_tx_queue,
144         .start = il4965_mac_start,
145         .stop = il4965_mac_stop,
146         .add_interface = il_mac_add_interface,
147 --- a/drivers/net/wireless/intel/iwlwifi/dvm/mac80211.c
148 +++ b/drivers/net/wireless/intel/iwlwifi/dvm/mac80211.c
149 @@ -1571,6 +1571,7 @@ static void iwlagn_mac_sta_notify(struct
150  
151  const struct ieee80211_ops iwlagn_hw_ops = {
152         .tx = iwlagn_mac_tx,
153 +       .wake_tx_queue = ieee80211_handle_wake_tx_queue,
154         .start = iwlagn_mac_start,
155         .stop = iwlagn_mac_stop,
156  #ifdef CONFIG_PM_SLEEP
157 --- a/drivers/net/wireless/intersil/p54/main.c
158 +++ b/drivers/net/wireless/intersil/p54/main.c
159 @@ -705,6 +705,7 @@ static void p54_set_coverage_class(struc
160  
161  static const struct ieee80211_ops p54_ops = {
162         .tx                     = p54_tx_80211,
163 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
164         .start                  = p54_start,
165         .stop                   = p54_stop,
166         .add_interface          = p54_add_interface,
167 --- a/drivers/net/wireless/mac80211_hwsim.c
168 +++ b/drivers/net/wireless/mac80211_hwsim.c
169 @@ -3109,6 +3109,7 @@ static int mac80211_hwsim_change_sta_lin
170  
171  #define HWSIM_COMMON_OPS                                       \
172         .tx = mac80211_hwsim_tx,                                \
173 +       .wake_tx_queue = ieee80211_handle_wake_tx_queue,        \
174         .start = mac80211_hwsim_start,                          \
175         .stop = mac80211_hwsim_stop,                            \
176         .add_interface = mac80211_hwsim_add_interface,          \
177 --- a/drivers/net/wireless/marvell/libertas_tf/main.c
178 +++ b/drivers/net/wireless/marvell/libertas_tf/main.c
179 @@ -474,6 +474,7 @@ static int lbtf_op_get_survey(struct iee
180  
181  static const struct ieee80211_ops lbtf_ops = {
182         .tx                     = lbtf_op_tx,
183 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
184         .start                  = lbtf_op_start,
185         .stop                   = lbtf_op_stop,
186         .add_interface          = lbtf_op_add_interface,
187 --- a/drivers/net/wireless/marvell/mwl8k.c
188 +++ b/drivers/net/wireless/marvell/mwl8k.c
189 @@ -5611,6 +5611,7 @@ static void mwl8k_sw_scan_complete(struc
190  
191  static const struct ieee80211_ops mwl8k_ops = {
192         .tx                     = mwl8k_tx,
193 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
194         .start                  = mwl8k_start,
195         .stop                   = mwl8k_stop,
196         .add_interface          = mwl8k_add_interface,
197 --- a/drivers/net/wireless/mediatek/mt7601u/main.c
198 +++ b/drivers/net/wireless/mediatek/mt7601u/main.c
199 @@ -406,6 +406,7 @@ out:
200  
201  const struct ieee80211_ops mt7601u_ops = {
202         .tx = mt7601u_tx,
203 +       .wake_tx_queue = ieee80211_handle_wake_tx_queue,
204         .start = mt7601u_start,
205         .stop = mt7601u_stop,
206         .add_interface = mt7601u_add_interface,
207 --- a/drivers/net/wireless/ralink/rt2x00/rt2400pci.c
208 +++ b/drivers/net/wireless/ralink/rt2x00/rt2400pci.c
209 @@ -1706,6 +1706,7 @@ static int rt2400pci_tx_last_beacon(stru
210  
211  static const struct ieee80211_ops rt2400pci_mac80211_ops = {
212         .tx                     = rt2x00mac_tx,
213 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
214         .start                  = rt2x00mac_start,
215         .stop                   = rt2x00mac_stop,
216         .add_interface          = rt2x00mac_add_interface,
217 --- a/drivers/net/wireless/ralink/rt2x00/rt2500pci.c
218 +++ b/drivers/net/wireless/ralink/rt2x00/rt2500pci.c
219 @@ -2004,6 +2004,7 @@ static int rt2500pci_tx_last_beacon(stru
220  
221  static const struct ieee80211_ops rt2500pci_mac80211_ops = {
222         .tx                     = rt2x00mac_tx,
223 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
224         .start                  = rt2x00mac_start,
225         .stop                   = rt2x00mac_stop,
226         .add_interface          = rt2x00mac_add_interface,
227 --- a/drivers/net/wireless/ralink/rt2x00/rt2500usb.c
228 +++ b/drivers/net/wireless/ralink/rt2x00/rt2500usb.c
229 @@ -1795,6 +1795,7 @@ static int rt2500usb_probe_hw(struct rt2
230  
231  static const struct ieee80211_ops rt2500usb_mac80211_ops = {
232         .tx                     = rt2x00mac_tx,
233 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
234         .start                  = rt2x00mac_start,
235         .stop                   = rt2x00mac_stop,
236         .add_interface          = rt2x00mac_add_interface,
237 --- a/drivers/net/wireless/ralink/rt2x00/rt2800pci.c
238 +++ b/drivers/net/wireless/ralink/rt2x00/rt2800pci.c
239 @@ -288,6 +288,7 @@ static int rt2800pci_read_eeprom(struct
240  
241  static const struct ieee80211_ops rt2800pci_mac80211_ops = {
242         .tx                     = rt2x00mac_tx,
243 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
244         .start                  = rt2x00mac_start,
245         .stop                   = rt2x00mac_stop,
246         .add_interface          = rt2x00mac_add_interface,
247 --- a/drivers/net/wireless/ralink/rt2x00/rt2800soc.c
248 +++ b/drivers/net/wireless/ralink/rt2x00/rt2800soc.c
249 @@ -133,6 +133,7 @@ static int rt2800soc_write_firmware(stru
250  
251  static const struct ieee80211_ops rt2800soc_mac80211_ops = {
252         .tx                     = rt2x00mac_tx,
253 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
254         .start                  = rt2x00mac_start,
255         .stop                   = rt2x00mac_stop,
256         .add_interface          = rt2x00mac_add_interface,
257 --- a/drivers/net/wireless/ralink/rt2x00/rt2800usb.c
258 +++ b/drivers/net/wireless/ralink/rt2x00/rt2800usb.c
259 @@ -630,6 +630,7 @@ static int rt2800usb_probe_hw(struct rt2
260  
261  static const struct ieee80211_ops rt2800usb_mac80211_ops = {
262         .tx                     = rt2x00mac_tx,
263 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
264         .start                  = rt2x00mac_start,
265         .stop                   = rt2x00mac_stop,
266         .add_interface          = rt2x00mac_add_interface,
267 --- a/drivers/net/wireless/ralink/rt2x00/rt61pci.c
268 +++ b/drivers/net/wireless/ralink/rt2x00/rt61pci.c
269 @@ -2873,6 +2873,7 @@ static u64 rt61pci_get_tsf(struct ieee80
270  
271  static const struct ieee80211_ops rt61pci_mac80211_ops = {
272         .tx                     = rt2x00mac_tx,
273 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
274         .start                  = rt2x00mac_start,
275         .stop                   = rt2x00mac_stop,
276         .add_interface          = rt2x00mac_add_interface,
277 --- a/drivers/net/wireless/ralink/rt2x00/rt73usb.c
278 +++ b/drivers/net/wireless/ralink/rt2x00/rt73usb.c
279 @@ -2292,6 +2292,7 @@ static u64 rt73usb_get_tsf(struct ieee80
280  
281  static const struct ieee80211_ops rt73usb_mac80211_ops = {
282         .tx                     = rt2x00mac_tx,
283 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
284         .start                  = rt2x00mac_start,
285         .stop                   = rt2x00mac_stop,
286         .add_interface          = rt2x00mac_add_interface,
287 --- a/drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c
288 +++ b/drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c
289 @@ -1608,6 +1608,7 @@ static void rtl8180_configure_filter(str
290  
291  static const struct ieee80211_ops rtl8180_ops = {
292         .tx                     = rtl8180_tx,
293 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
294         .start                  = rtl8180_start,
295         .stop                   = rtl8180_stop,
296         .add_interface          = rtl8180_add_interface,
297 --- a/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c
298 +++ b/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c
299 @@ -1378,6 +1378,7 @@ static int rtl8187_conf_tx(struct ieee80
300  
301  static const struct ieee80211_ops rtl8187_ops = {
302         .tx                     = rtl8187_tx,
303 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
304         .start                  = rtl8187_start,
305         .stop                   = rtl8187_stop,
306         .add_interface          = rtl8187_add_interface,
307 --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
308 +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
309 @@ -6548,6 +6548,7 @@ static void rtl8xxxu_stop(struct ieee802
310  
311  static const struct ieee80211_ops rtl8xxxu_ops = {
312         .tx = rtl8xxxu_tx,
313 +       .wake_tx_queue = ieee80211_handle_wake_tx_queue,
314         .add_interface = rtl8xxxu_add_interface,
315         .remove_interface = rtl8xxxu_remove_interface,
316         .config = rtl8xxxu_config,
317 --- a/drivers/net/wireless/realtek/rtlwifi/core.c
318 +++ b/drivers/net/wireless/realtek/rtlwifi/core.c
319 @@ -1912,6 +1912,7 @@ const struct ieee80211_ops rtl_ops = {
320         .start = rtl_op_start,
321         .stop = rtl_op_stop,
322         .tx = rtl_op_tx,
323 +       .wake_tx_queue = ieee80211_handle_wake_tx_queue,
324         .add_interface = rtl_op_add_interface,
325         .remove_interface = rtl_op_remove_interface,
326         .change_interface = rtl_op_change_interface,
327 --- a/drivers/net/wireless/realtek/rtw88/mac80211.c
328 +++ b/drivers/net/wireless/realtek/rtw88/mac80211.c
329 @@ -896,6 +896,7 @@ static void rtw_ops_sta_rc_update(struct
330  
331  const struct ieee80211_ops rtw_ops = {
332         .tx                     = rtw_ops_tx,
333 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
334         .wake_tx_queue          = rtw_ops_wake_tx_queue,
335         .start                  = rtw_ops_start,
336         .stop                   = rtw_ops_stop,
337 --- a/drivers/net/wireless/realtek/rtw89/mac80211.c
338 +++ b/drivers/net/wireless/realtek/rtw89/mac80211.c
339 @@ -918,6 +918,7 @@ static int rtw89_ops_set_tid_config(stru
340  
341  const struct ieee80211_ops rtw89_ops = {
342         .tx                     = rtw89_ops_tx,
343 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
344         .wake_tx_queue          = rtw89_ops_wake_tx_queue,
345         .start                  = rtw89_ops_start,
346         .stop                   = rtw89_ops_stop,
347 --- a/drivers/net/wireless/rsi/rsi_91x_mac80211.c
348 +++ b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
349 @@ -1958,6 +1958,7 @@ static int rsi_mac80211_resume(struct ie
350  
351  static const struct ieee80211_ops mac80211_ops = {
352         .tx = rsi_mac80211_tx,
353 +       .wake_tx_queue = ieee80211_handle_wake_tx_queue,
354         .start = rsi_mac80211_start,
355         .stop = rsi_mac80211_stop,
356         .add_interface = rsi_mac80211_add_interface,
357 --- a/drivers/net/wireless/st/cw1200/main.c
358 +++ b/drivers/net/wireless/st/cw1200/main.c
359 @@ -209,6 +209,7 @@ static const struct ieee80211_ops cw1200
360         .remove_interface       = cw1200_remove_interface,
361         .change_interface       = cw1200_change_interface,
362         .tx                     = cw1200_tx,
363 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
364         .hw_scan                = cw1200_hw_scan,
365         .set_tim                = cw1200_set_tim,
366         .sta_notify             = cw1200_sta_notify,
367 --- a/drivers/net/wireless/ti/wl1251/main.c
368 +++ b/drivers/net/wireless/ti/wl1251/main.c
369 @@ -1359,6 +1359,7 @@ static const struct ieee80211_ops wl1251
370         .prepare_multicast = wl1251_op_prepare_multicast,
371         .configure_filter = wl1251_op_configure_filter,
372         .tx = wl1251_op_tx,
373 +       .wake_tx_queue = ieee80211_handle_wake_tx_queue,
374         .set_key = wl1251_op_set_key,
375         .hw_scan = wl1251_op_hw_scan,
376         .bss_info_changed = wl1251_op_bss_info_changed,
377 --- a/drivers/net/wireless/ti/wlcore/main.c
378 +++ b/drivers/net/wireless/ti/wlcore/main.c
379 @@ -5942,6 +5942,7 @@ static const struct ieee80211_ops wl1271
380         .prepare_multicast = wl1271_op_prepare_multicast,
381         .configure_filter = wl1271_op_configure_filter,
382         .tx = wl1271_op_tx,
383 +       .wake_tx_queue = ieee80211_handle_wake_tx_queue,
384         .set_key = wlcore_op_set_key,
385         .hw_scan = wl1271_op_hw_scan,
386         .cancel_hw_scan = wl1271_op_cancel_hw_scan,
387 --- a/drivers/net/wireless/zydas/zd1211rw/zd_mac.c
388 +++ b/drivers/net/wireless/zydas/zd1211rw/zd_mac.c
389 @@ -1344,6 +1344,7 @@ static u64 zd_op_get_tsf(struct ieee8021
390  
391  static const struct ieee80211_ops zd_ops = {
392         .tx                     = zd_op_tx,
393 +       .wake_tx_queue          = ieee80211_handle_wake_tx_queue,
394         .start                  = zd_op_start,
395         .stop                   = zd_op_stop,
396         .add_interface          = zd_op_add_interface,