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> _____________________________________________________