From: Ping-Ke Shih <pkshih@realtek.com>
To: "pbrobinson@gmail.com" <pbrobinson@gmail.com>
Cc: "johannes@sipsolutions.net" <johannes@sipsolutions.net>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Subject: RE: [PATCH v2 2/2] wifi: rtw88: use ieee80211_purge_tx_queue() to purge TX skb
Date: Fri, 20 Sep 2024 06:27:14 +0000 [thread overview]
Message-ID: <ac879ce2d8cd4574a9e88dca03d72a54@realtek.com> (raw)
In-Reply-To: 20240822014255.10211-2-pkshih@realtek.com
Ping-Ke Shih wrote:
>
> Hi Peter,
>
> Could you please test v2 again? Thanks.
Still no reply from peter though.
>
> Ping-Ke Shih <pkshih@realtek.com> wrote:
> > When removing kernel modules by:
> > rmmod rtw88_8723cs rtw88_8703b rtw88_8723x rtw88_sdio rtw88_core
> >
> > Driver uses skb_queue_purge() to purge TX skb, but not report tx status
> > causing "Have pending ack frames!" warning. Use ieee80211_purge_tx_queue()
> > to correct this.
> >
> > Since ieee80211_purge_tx_queue() doesn't take locks, to prevent racing
> > between TX work and purge TX queue, flush and destroy TX work in advance.
> >
> > wlan0: deauthenticating from aa:f5:fd:60:4c:a8 by local
> > choice (Reason: 3=DEAUTH_LEAVING)
> > ------------[ cut here ]------------
> > Have pending ack frames!
> > WARNING: CPU: 3 PID: 9232 at net/mac80211/main.c:1691
> > ieee80211_free_ack_frame+0x5c/0x90 [mac80211]
> > CPU: 3 PID: 9232 Comm: rmmod Tainted: G C
> > 6.10.1-200.fc40.aarch64 #1
> > Hardware name: pine64 Pine64 PinePhone Braveheart
> > (1.1)/Pine64 PinePhone Braveheart (1.1), BIOS 2024.01 01/01/2024
> > pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> > pc : ieee80211_free_ack_frame+0x5c/0x90 [mac80211]
> > lr : ieee80211_free_ack_frame+0x5c/0x90 [mac80211]
> > sp : ffff80008c1b37b0
> > x29: ffff80008c1b37b0 x28: ffff000003be8000 x27: 0000000000000000
> > x26: 0000000000000000 x25: ffff000003dc14b8 x24: ffff80008c1b37d0
> > x23: ffff000000ff9f80 x22: 0000000000000000 x21: 000000007fffffff
> > x20: ffff80007c7e93d8 x19: ffff00006e66f400 x18: 0000000000000000
> > x17: ffff7ffffd2b3000 x16: ffff800083fc0000 x15: 0000000000000000
> > x14: 0000000000000000 x13: 2173656d61726620 x12: 6b636120676e6964
> > x11: 0000000000000000 x10: 000000000000005d x9 : ffff8000802af2b0
> > x8 : ffff80008c1b3430 x7 : 0000000000000001 x6 : 0000000000000001
> > x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000
> > x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff000003be8000
> > Call trace:
> > ieee80211_free_ack_frame+0x5c/0x90 [mac80211]
> > idr_for_each+0x74/0x110
> > ieee80211_free_hw+0x44/0xe8 [mac80211]
> > rtw_sdio_remove+0x9c/0xc0 [rtw88_sdio]
> > sdio_bus_remove+0x44/0x180
> > device_remove+0x54/0x90
> > device_release_driver_internal+0x1d4/0x238
> > driver_detach+0x54/0xc0
> > bus_remove_driver+0x78/0x108
> > driver_unregister+0x38/0x78
> > sdio_unregister_driver+0x2c/0x40
> > rtw_8723cs_driver_exit+0x18/0x1000 [rtw88_8723cs]
> > __do_sys_delete_module.isra.0+0x190/0x338
> > __arm64_sys_delete_module+0x1c/0x30
> > invoke_syscall+0x74/0x100
> > el0_svc_common.constprop.0+0x48/0xf0
> > do_el0_svc+0x24/0x38
> > el0_svc+0x3c/0x158
> > el0t_64_sync_handler+0x120/0x138
> > el0t_64_sync+0x194/0x198
> > ---[ end trace 0000000000000000 ]---
> >
> > Reported-by: Peter Robinson <pbrobinson@gmail.com>
> > Closes:
> >
> https://lore.kernel.org/linux-wireless/CALeDE9OAa56KMzgknaCD3quOgYuEHFx9_hcT=OFgmMAb+8MPyA@mail.gmail.
> > com/
> > Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
I added some test code to be easier to reproduce this problem on USB device
named 8723DU, and this patch can fix the problem, so
Tested-by: Ping-Ke Shih <pkshih@realtek.com> # 8723DU
next prev parent reply other threads:[~2024-09-20 6:27 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-22 1:42 [PATCH v2 1/2] wifi: mac80211: export ieee80211_purge_tx_queue() for drivers Ping-Ke Shih
2024-08-22 1:42 ` [PATCH v2 2/2] wifi: rtw88: use ieee80211_purge_tx_queue() to purge TX skb Ping-Ke Shih
2024-08-22 1:48 ` Ping-Ke Shih
2024-09-20 6:27 ` Ping-Ke Shih [this message]
2024-09-20 6:33 ` Ping-Ke Shih
2024-09-20 12:58 ` Bitterblue Smith
2024-09-20 13:11 ` Ping-Ke Shih
2024-09-20 14:44 ` Bitterblue Smith
2024-11-05 10:54 ` Ladislav Michl
2024-11-06 3:43 ` Ping-Ke Shih
2024-11-06 9:33 ` Ladislav Michl
2024-11-07 0:17 ` Ping-Ke Shih
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ac879ce2d8cd4574a9e88dca03d72a54@realtek.com \
--to=pkshih@realtek.com \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=pbrobinson@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.