Add a hack-around to this fatal taskqueue running whilst the NIC
is detaching. This mostly fixes a panic - the reset path shouldn't run whilst the NIC is being torn down. It's not locked, so it's "mostly" ok, but most of the rest of the driver doesn't read sc->invalid with sensible locking. Grr. The real solution is to cleanly tear down taskqueues in the detach/suspend phase, but ..
This commit is contained in:
parent
66b870f3cb
commit
70c81b2077
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=286343
@ -2318,6 +2318,9 @@ ath_fatal_proc(void *arg, int pending)
|
|||||||
u_int32_t len;
|
u_int32_t len;
|
||||||
void *sp;
|
void *sp;
|
||||||
|
|
||||||
|
if (sc->sc_invalid)
|
||||||
|
return;
|
||||||
|
|
||||||
device_printf(sc->sc_dev, "hardware error; resetting\n");
|
device_printf(sc->sc_dev, "hardware error; resetting\n");
|
||||||
/*
|
/*
|
||||||
* Fatal errors are unrecoverable. Typically these
|
* Fatal errors are unrecoverable. Typically these
|
||||||
|
Loading…
Reference in New Issue
Block a user