public inbox for linux-wireless@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/1] wifi: libertas: add wake_up() call to properly notify fw_wq during disconnect
  2026-04-15 13:31 ` [PATCH v2 0/1] wifi: libertas: fix bug in Marvell Libertas driver Jakov Novak
@ 2026-04-15 13:31   ` Jakov Novak
  0 siblings, 0 replies; 3+ messages in thread
From: Jakov Novak @ 2026-04-15 13:31 UTC (permalink / raw)
  To: johannes
  Cc: dcbw, jakovnovak30, kees, libertas-dev, linux-kernel,
	linux-wireless, linville, mingo, skhan, swilczek.lx,
	syzbot+c99d17aa44dbdba16ad2, tglx

This is necessary because the thread would be stuck if the
firmware is not fully loaded before the if_usb_disconnect function is
called. In that case if_usb_prog_firmware would be stuck in
wait_event_interruptible and lbs_remove_card would also be stuck waiting
for firmware loading to be done which was the original bug reported.

Fixes: 954ee164f4f4 ("[PATCH] libertas: reorganize and simplify init sequence")
Reported-and-tested-by: syzbot+c99d17aa44dbdba16ad2@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=c99d17aa44dbdba16ad2
Signed-off-by: Jakov Novak <jakovnovak30@gmail.com>
---
 drivers/net/wireless/marvell/libertas/if_usb.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/wireless/marvell/libertas/if_usb.c b/drivers/net/wireless/marvell/libertas/if_usb.c
index 245c902a7e42..8a6bf1365cfa 100644
--- a/drivers/net/wireless/marvell/libertas/if_usb.c
+++ b/drivers/net/wireless/marvell/libertas/if_usb.c
@@ -310,7 +310,6 @@ static void if_usb_disconnect(struct usb_interface *intf)
 	struct lbs_private *priv = cardp->priv;
 
 	cardp->surprise_removed = 1;
-	wake_up(&cardp->fw_wq);
 
 	if (priv) {
 		lbs_stop_card(priv);
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH v2 0/1] wifi: libertas: fix bug in Marvell Libertas driver
@ 2026-04-15 13:36 Jakov Novak
  2026-04-15 13:36 ` [PATCH v2 1/1] wifi: libertas: add wake_up() call to properly notify fw_wq during disconnect Jakov Novak
  0 siblings, 1 reply; 3+ messages in thread
From: Jakov Novak @ 2026-04-15 13:36 UTC (permalink / raw)
  To: linux-wireless
  Cc: Kees Cook, Szymon Wilczek, Ingo Molnar, Johannes Berg,
	Thomas Gleixner, John W . Linville, Dan Williams, libertas-dev,
	linux-kernel, skhan, Jakov Novak

Please ignore the previous email. I sent the wrong patch.

Jakov Novak (1):
  wifi: libertas: add wake_up() call to properly notify fw_wq during
    disconnect

 drivers/net/wireless/marvell/libertas/if_usb.c | 1 -
 1 file changed, 1 deletion(-)

-- 
2.53.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH v2 1/1] wifi: libertas: add wake_up() call to properly notify fw_wq during disconnect
  2026-04-15 13:36 [PATCH v2 0/1] wifi: libertas: fix bug in Marvell Libertas driver Jakov Novak
@ 2026-04-15 13:36 ` Jakov Novak
  0 siblings, 0 replies; 3+ messages in thread
From: Jakov Novak @ 2026-04-15 13:36 UTC (permalink / raw)
  To: linux-wireless
  Cc: Kees Cook, Szymon Wilczek, Ingo Molnar, Johannes Berg,
	Thomas Gleixner, John W . Linville, Dan Williams, libertas-dev,
	linux-kernel, skhan, Jakov Novak, syzbot+c99d17aa44dbdba16ad2

This is necessary because the thread would be stuck if the
firmware is not fully loaded before the if_usb_disconnect function is
called. In that case if_usb_prog_firmware would be stuck in
wait_event_interruptible and lbs_remove_card would also be stuck waiting
for firmware loading to be done which was the original bug reported.

Fixes: 954ee164f4f4 ("[PATCH] libertas: reorganize and simplify init sequence")
Reported-and-tested-by: syzbot+c99d17aa44dbdba16ad2@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=c99d17aa44dbdba16ad2
Signed-off-by: Jakov Novak <jakovnovak30@gmail.com>
---
 drivers/net/wireless/marvell/libertas/if_usb.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/wireless/marvell/libertas/if_usb.c b/drivers/net/wireless/marvell/libertas/if_usb.c
index 245c902a7e42..8a6bf1365cfa 100644
--- a/drivers/net/wireless/marvell/libertas/if_usb.c
+++ b/drivers/net/wireless/marvell/libertas/if_usb.c
@@ -310,7 +310,6 @@ static void if_usb_disconnect(struct usb_interface *intf)
 	struct lbs_private *priv = cardp->priv;
 
 	cardp->surprise_removed = 1;
+	wake_up(&cardp->fw_wq);
 
 	if (priv) {
 		lbs_stop_card(priv);
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-04-15 13:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-15 13:36 [PATCH v2 0/1] wifi: libertas: fix bug in Marvell Libertas driver Jakov Novak
2026-04-15 13:36 ` [PATCH v2 1/1] wifi: libertas: add wake_up() call to properly notify fw_wq during disconnect Jakov Novak
  -- strict thread matches above, loose matches on Subject: below --
2026-04-15 12:11 [PATCH 1/1] add wake_up call inside if_usb_disconnect Johannes Berg
2026-04-15 13:31 ` [PATCH v2 0/1] wifi: libertas: fix bug in Marvell Libertas driver Jakov Novak
2026-04-15 13:31   ` [PATCH v2 1/1] wifi: libertas: add wake_up() call to properly notify fw_wq during disconnect Jakov Novak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox