From: Ping-Ke Shih <pkshih@realtek.com>
To: Bitterblue Smith <rtl8821cerfe2@gmail.com>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
"Marco Crivellari" <marco.crivellari@suse.com>
Subject: RE: [PATCH rtw-next] Revert "wifi: rtw88: add WQ_UNBOUND to alloc_workqueue users"
Date: Mon, 8 Dec 2025 00:40:11 +0000 [thread overview]
Message-ID: <dcf31afec1614ce0b5e6c6d7f8cd2cb9@realtek.com> (raw)
In-Reply-To: <d57efe48-b8ff-4bf1-942c-7e808535eda6@gmail.com>
Bitterblue Smith <rtl8821cerfe2@gmail.com> wrote:
> This reverts commit 9c194fe4625db18f93d5abcfb7f7997557a0b29d.
>
> This commit breaks all USB wifi adapters supported by rtw88:
>
> usb 1-2: new high-speed USB device number 6 using xhci_hcd
> usb 1-2: New USB device found, idVendor=2357, idProduct=0138, bcdDevice= 2.10
> usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
> usb 1-2: Product: 802.11ac NIC
> usb 1-2: Manufacturer: Realtek
> usb 1-2: SerialNumber: 123456
> ------------[ cut here ]------------
> WARNING: CPU: 3 PID: 152 at kernel/workqueue.c:5667 alloc_workqueue_noprof+0x676/0x770
>
> [...]
>
> Call Trace:
> <TASK>
> ? rtw_usb_probe+0x30e/0xa5c [rtw88_usb 4af3cb64eedafeecbfb08f80c1e9e2893e2ee7a6]
> rtw_usb_probe+0x3eb/0xa5c [rtw88_usb 4af3cb64eedafeecbfb08f80c1e9e2893e2ee7a6]
> usb_probe_interface+0xdd/0x2c0
> really_probe+0xdb/0x340
> ? pm_runtime_barrier+0x55/0x90
> ? __pfx___device_attach_driver+0x10/0x10
> __driver_probe_device+0x78/0x140
> driver_probe_device+0x1f/0xa0
> __device_attach_driver+0x89/0x110
> bus_for_each_drv+0x8f/0xe0
> __device_attach+0xb0/0x1c0
> bus_probe_device+0x90/0xa0
> device_add+0x663/0x880
> usb_set_configuration+0x5a5/0x870
> usb_generic_driver_probe+0x4a/0x70
> usb_probe_device+0x3d/0x140
> ? driver_sysfs_add+0x59/0xd0
> really_probe+0xdb/0x340
> ? pm_runtime_barrier+0x55/0x90
> ? __pfx___device_attach_driver+0x10/0x10
> __driver_probe_device+0x78/0x140
> driver_probe_device+0x1f/0xa0
> __device_attach_driver+0x89/0x110
> bus_for_each_drv+0x8f/0xe0
> __device_attach+0xb0/0x1c0
> bus_probe_device+0x90/0xa0
> device_add+0x663/0x880
> usb_new_device.cold+0x141/0x3b5
> hub_event+0x1132/0x1900
> ? page_counter_uncharge+0x4a/0x90
> process_one_work+0x190/0x350
> worker_thread+0x2d7/0x410
> ? __pfx_worker_thread+0x10/0x10
> kthread+0xf9/0x240
> ? __pfx_kthread+0x10/0x10
> ? __pfx_kthread+0x10/0x10
> ret_from_fork+0x1c1/0x1f0
> ? __pfx_kthread+0x10/0x10
> ret_from_fork_asm+0x1a/0x30
> </TASK>
> ---[ end trace 0000000000000000 ]---
> rtw88_8822bu 1-2:1.0: failed to create RX work queue
> rtw88_8822bu 1-2:1.0: failed to init USB RX
> rtw88_8822bu 1-2:1.0: Firmware version 27.2.0, H2C version 13
> rtw88_8822bu 1-2:1.0: probe with driver rtw88_8822bu failed with error -12
>
> WQ_UNBOUND is not compatible with WQ_BH. Comment in enum wq_flags in
> workqueue.h says:
>
> /* BH wq only allows the following flags */
> __WQ_BH_ALLOWS = WQ_BH | WQ_HIGHPRI | WQ_PERCPU,
Thanks for the info. I'll take this patch to rtw tree in -rc cycle.
>
> Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
> ---
> Fortunately this commit is not in any released kernel yet.
> ---
> drivers/net/wireless/realtek/rtw88/usb.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/realtek/rtw88/usb.c b/drivers/net/wireless/realtek/rtw88/usb.c
> index 22b9cbf2268a..bf6bedf7cb5f 100644
> --- a/drivers/net/wireless/realtek/rtw88/usb.c
> +++ b/drivers/net/wireless/realtek/rtw88/usb.c
> @@ -972,8 +972,7 @@ static int rtw_usb_init_rx(struct rtw_dev *rtwdev)
> struct sk_buff *rx_skb;
> int i;
>
> - rtwusb->rxwq = alloc_workqueue("rtw88_usb: rx wq", WQ_BH | WQ_UNBOUND,
> - 0);
Hi Marco,
Will you send a patch to point out WQ_PERCPU explicitly?
> + rtwusb->rxwq = alloc_workqueue("rtw88_usb: rx wq", WQ_BH, 0);
> if (!rtwusb->rxwq) {
> rtw_err(rtwdev, "failed to create RX work queue\n");
> return -ENOMEM;
> --
> 2.51.1
next prev parent reply other threads:[~2025-12-08 0:40 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-06 18:32 [PATCH rtw-next] Revert "wifi: rtw88: add WQ_UNBOUND to alloc_workqueue users" Bitterblue Smith
2025-12-08 0:40 ` Ping-Ke Shih [this message]
2025-12-08 1:42 ` Zenm Chen
2025-12-08 2:11 ` Ping-Ke Shih
2025-12-08 3:20 ` Zenm Chen
2025-12-08 3:46 ` Ping-Ke Shih
2025-12-09 9:56 ` Marco Crivellari
2025-12-10 0:17 ` Ping-Ke Shih
2025-12-10 9:58 ` Marco Crivellari
2025-12-15 8:49 ` 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=dcf31afec1614ce0b5e6c6d7f8cd2cb9@realtek.com \
--to=pkshih@realtek.com \
--cc=linux-wireless@vger.kernel.org \
--cc=marco.crivellari@suse.com \
--cc=rtl8821cerfe2@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.