[PATCH 0/2] wifi: libertas: add USB anchors for TX/RX paths

Heitor Alves de Siqueira posted 2 patches 3 weeks, 3 days ago
drivers/net/wireless/marvell/libertas/if_usb.c | 32 ++++++++++++++++++--------
drivers/net/wireless/marvell/libertas/if_usb.h |  3 +++
2 files changed, 25 insertions(+), 10 deletions(-)
[PATCH 0/2] wifi: libertas: add USB anchors for TX/RX paths
Posted by Heitor Alves de Siqueira 3 weeks, 3 days ago
This series fixes a sleep-in-interrupt-context bug reported by Syzbot in
the Marvell libertas driver. Previous in-flight URBs were killed with
usb_kill_urb(), which shouldn't be called from interrupt context as it
might sleep.

The first patch adds USB anchors for the TX and RX paths, so we have a
way to track any in-flight URBs. Existing functions now use the anchors
instead of handling URBs directly.

The second patch fixes the reported bug by checking the TX anchor for
any in-flight URBs before sending out new ones. We now return -EBUSY
instead of killing the pending URB.

Signed-off-by: Heitor Alves de Siqueira <halves@igalia.com>
---
Heitor Alves de Siqueira (2):
      wifi: libertas: use USB anchors for tracking in-flight URBs
      wifi: libertas: don't kill URBs in interrupt context

 drivers/net/wireless/marvell/libertas/if_usb.c | 32 ++++++++++++++++++--------
 drivers/net/wireless/marvell/libertas/if_usb.h |  3 +++
 2 files changed, 25 insertions(+), 10 deletions(-)
---
base-commit: 80234b5ab240f52fa45d201e899e207b9265ef91
change-id: 20260313-libertas-usb-anchors-71dd8442dd42

Best regards,
-- 
Heitor Alves de Siqueira <halves@igalia.com>