CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2017/07/23 07:51:11
Modified files:
sys/dev/pci : if_iwm.c
Log message:
Prevent a possible "MAC context already removed" panic in iwm_auth().
This panic happens if iwm_newstate_task() sleeps and wakes up after iwm_stop().
The error path of iwm_newstate_task() attempts to reset driver flags and
firmware state, which should not be done if iwm_stop() has already done so.
A more comprehensive fix for such races is being worked on but not ready yet.
For now, check the generation counter in the error path of iwm_auth() and
only clean up state if that counter hasn't changed.
Problem reported and workaround tested by giovanni@