Hi, firmware_get() present in subr_firmware.c uses msleep(9) on 'fwload'. Within bwi(4), we call it from within a code protected by bwi-specific lock. This is what I get as a result: Sleeping on "fwload" with the following non-sleepable locks held: exclusive sleep mutex bwi0 (network driver) r = 0 (0xc5f5500c) locked _at_ /usr/src/sys/modules/bwi/../../dev/bwi/if_bwi.c:1320 KDB: stack backtrace: db_trace_self_wrapper(c078e598,e61b6ac4,c0597cb5,c160e330,528,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c160e330,528,ffffffff,c095badc,e61b6afc,...) at kdb_backtrace+0x29 _witness_debugger(c0790a19,e61b6b10,4,1,0,...) at _witness_debugger+0x25 witness_warn(5,c1660574,c078bf3a,c165fba4,4,...) at witness_warn+0x1fd _sleep(e61b6be4,c1660574,0,c165fba4,0,...) at _sleep+0x5f firmware_get(e61b6be4,40,c160f1b8,3,c5e73a80,...) at firmware_get+0x190 bwi_mac_init(c5f550b0,c5f550b0,0,c0546173,c5f5500c,...) at bwi_mac_init+0xe1d bwi_init_statechg(c5f5500c,0,c160e330,528,c5f68000,...) at bwi_init_statechg+0x7b bwi_ioctl(c5edb000,80206910,0,e61b6cd4,c0590e73,...) at bwi_ioctl+0x9a parent_updown(c5edb000,1,c078fe1d,51,c5f65d58,...) at parent_updown+0x22 taskqueue_run(c5f65d40,c5f65d58,0,c077f4d0,0,...) at taskqueue_run+0x103 taskqueue_thread_loop(c5f68074,e61b6d38,c07868e7,343,c0818fc0,...) at taskqueue_thread_loop+0x68 fork_exit(c0590f60,c5f68074,e61b6d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe61b6d70, ebp = 0 --- -- Wojciech A. Koszek wkoszek_at_FreeBSD.org http://FreeBSD.czest.pl/~wkoszek/Received on Sat Dec 26 2009 - 14:44:34 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:59 UTC