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:
Adrian Chadd 2015-08-05 21:22:25 +00:00
parent 66b870f3cb
commit 70c81b2077
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=286343

View File

@ -2318,6 +2318,9 @@ ath_fatal_proc(void *arg, int pending)
u_int32_t len;
void *sp;
if (sc->sc_invalid)
return;
device_printf(sc->sc_dev, "hardware error; resetting\n");
/*
* Fatal errors are unrecoverable. Typically these