opnsense-src/sys/dev/rtwn
Adrian Chadd 8838f3c32a rtwn: ensure TX work isn't scheduled during reset / abort
Don't schedule work during reset / abort.  For USB NICs, work
must not be scheduled during a call to rtwn_usb_abort_xfers(),
as then it'll cause the call to usbd_transfer_drain() to hang.

This fixes a hang I've been seeing where the NIC hits a TX timeout
and then the reset/re-init path is called.  If data is scheduled
to be transmitted in that window, the call to usbd_transfer_drain()
would hang and require a hard reboot to recover.

Differential Revision: https://reviews.freebsd.org/D47479
2024-11-08 08:26:05 -08:00
..
pci Revert "Widen EPOCH(9) usage in PCI WLAN drivers." 2023-12-01 00:48:54 +00:00
rtl8188e sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
rtl8192c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
rtl8192e sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
rtl8812a sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
rtl8821a sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
usb Revert "Enter the network epoch in USB WiFi drivers when processing input" 2023-12-01 00:48:54 +00:00
if_rtwn.c net80211: deal with lost state transitions 2024-02-14 19:47:21 +00:00
if_rtwn_beacon.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
if_rtwn_beacon.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_rtwn_calib.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
if_rtwn_calib.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_rtwn_cam.c net80211: migrate the group/unicast key check into inline functions 2024-07-15 11:45:30 -07:00
if_rtwn_cam.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_rtwn_debug.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_rtwn_efuse.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
if_rtwn_efuse.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_rtwn_fw.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
if_rtwn_fw.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
if_rtwn_nop.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_rtwn_ridx.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_rtwn_rx.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
if_rtwn_rx.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_rtwn_task.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
if_rtwn_task.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_rtwn_tx.c rtwn: ensure TX work isn't scheduled during reset / abort 2024-11-08 08:26:05 -08:00
if_rtwn_tx.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_rtwnreg.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
if_rtwnvar.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00