Edward O'Callaghan <eocallag...@auroraux.org> added the comment:

OK, I think I have figured out what is wrong, please correct me if I am wrong
however I think something like this happens on init:

static void iwn_init(void *arg)
...
 wlan_serialize_enter();
 iwn_init_locked(sc); -----> static void iwn_init_locked(struct iwn_softc *sc)
                          ...
                          /* Read firmware images from the filesystem. */
                          error = iwn_read_firmware(sc); -----> static int 
iwn_read_firmware(struct
iwn_softc *sc)
                                                          ...
                                                          /*
                                                          * Read firmware image 
from filesystem.  The firmware can block
                                                          * in a taskq and 
deadlock against our serializer so unlock
                                                          * while we do tihs.
                                                          */
                                                          
wlan_assert_serialized(); <------- *KABOOM?*
                                                          wlan_serialize_exit();

----------
status: unread -> chatting

_____________________________________________________
DragonFly issue tracker <b...@lists.dragonflybsd.org>
<http://bugs.dragonflybsd.org/issue2158>
_____________________________________________________

Reply via email to