Panic _at_r210841 in iwi_auth_and_assoc(): iwi firmware not idle, state ASSOCIATING

From: David Wolfskill <david_at_catwhisker.org>
Date: Thu, 5 Aug 2010 07:05:50 -0700
Before I get to the "good stuff", I'll note that:

* I'm no longer running a VIMAGE kernel, so that possible source of
  confusion should be absent.

* The hardware in question (a miniPCI device in my laptop) has been
  working under stable/7 and stable/8 (so I believe that there should be
  nothing so wrong with the hardware that it should cause a panic).

* I tend to see a lot of messages: "iwi0: firmware error" -- especially
  running CURRENT.  I have seen a few of them while running stable/7, as
  well (but no panics under stable/*).

* An ath(4) PCcard works fine (now that I'm not running VIMAGE).

* uname reports:
FreeBSD g1-219.catwhisker.org. 9.0-CURRENT FreeBSD 9.0-CURRENT #80 r210841: Wed Aug  4 08:34:39 PDT 2010     root_at_g1-219.catwhisker.org.:/usr/obj/usr/src/sys/CANARY  i386

  (though sources were actually updated to r210855 just prior to this
  norning's build).

I've attached a opy of the core.txt file; here's the backtrace:

iwi0: firmware error
iwi0: firmware error
iwi0: firmware error
iwi0: firmware error
iwi0: firmware error
<118>wlan1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
<118>   ether 00:0e:35:aa:11:ca
<118>   media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
<118>   status: no carrier
<118>   ssid lmdhw-net channel 11 (2462 MHz 11g)
<118>   country US authmode WPA1+WPA2/802.11i privacy ON deftxkey 1
<118>   wepkey 1:40-bit txpower 0 bmiss 24 scanvalid 60 protmode CTS wme
iwi0: firmware error
iwi0: firmware error
iwi0: firmware error
iwi0: firmware error
panic: iwi firmware not idle, state ASSOCIATING
cpuid = 0
KDB: stack backtrace:
db_trace_self_wrapper(c0cb816c,c52bcb60,c088fc99,c0cf008f,0,...) at 0xc04d9fc6 = db_trace_self_wrapper+0x26
kdb_backtrace(c0cf008f,0,c11a7bea,c52bcb6c,0,...) at 0xc08c2619 = kdb_backtrace+0x29
panic(c11a7bea,c11a7c0d,c11a7aea,ae6,c79d6000,...) at 0xc088fc99 = panic+0x119
iwi_auth_and_assoc(c78b640c,0,c11a7aea,3c5,8,...) at 0xc11a733c = iwi_auth_and_assoc+0x77c
iwi_newstate(c8c9b000,2,c0,652,c52bcc90,...) at 0xc11a7649 = iwi_newstate+0x179
ieee80211_newstate_cb(c8c9b000,1,c0cb9a2b,53,c52bccd8,...) at 0xc098bbb9 = ieee80211_newstate_cb+0x179
taskqueue_run(c7c9c080,c7c9c098,0,c0cd60b0,0,...) at 0xc08cebc3 = taskqueue_run+0xc3
taskqueue_thread_loop(c7c8b074,c52bcd28,c0cafdaf,343,c0e0ba60,...) at 0xc08cecae = taskqueue_thread_loop+0x6e
fork_exit(c08cec40,c7c8b074,c52bcd28) at 0xc08656b8 = fork_exit+0xb8
fork_trampoline() at 0xc0bbe5e4 = fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xc52bcd60, ebp = 0 ---
KDB: enter: panic
panic: from debugger
cpuid = 0
Uptime: 3m42s
Physical memory: 2031 MB
Dumping 120 MB: 105 89 73 57 41 25 9

Reading symbols from /boot/kernel/linux.ko...Reading symbols from /boot/kernel/linux.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linux.ko
Reading symbols from /boot/kernel/if_an.ko...Reading symbols from /boot/kernel/if_an.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/if_an.ko
Reading symbols from /boot/kernel/if_iwi.ko...Reading symbols from /boot/kernel/if_iwi.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/if_iwi.ko
Reading symbols from /boot/kernel/if_wi.ko...Reading symbols from /boot/kernel/if_wi.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/if_wi.ko
Reading symbols from /boot/kernel/iwi_bss.ko...Reading symbols from /boot/kernel/iwi_bss.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/iwi_bss.ko
Reading symbols from /boot/kernel/iwi_ibss.ko...Reading symbols from /boot/kernel/iwi_ibss.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/iwi_ibss.ko
Reading symbols from /boot/kernel/iwi_monitor.ko...Reading symbols from /boot/kernel/iwi_monitor.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/iwi_monitor.ko
Reading symbols from /boot/kernel/radeon.ko...Reading symbols from /boot/kernel/radeon.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/radeon.ko
Reading symbols from /boot/kernel/drm.ko...Reading symbols from /boot/kernel/drm.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/drm.ko
Reading symbols from /boot/kernel/tmpfs.ko...Reading symbols from /boot/kernel/tmpfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/tmpfs.ko
#0  doadump () at pcpu.h:231
231     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) bt
#0  doadump () at pcpu.h:231
#1  0xc088f9fe in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:416
#2  0xc088fcd2 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:590
#3  0xc04d78c7 in db_panic (addr=Could not find the frame base for "db_panic".
) at /usr/src/sys/ddb/db_command.c:478
#4  0xc04d7ef1 in db_command (last_cmdp=0xc0ded6dc, cmd_table=0x0, dopager=1)
    at /usr/src/sys/ddb/db_command.c:445
#5  0xc04d804a in db_command_loop () at /usr/src/sys/ddb/db_command.c:498
#6  0xc04d9f6d in db_trap (type=3, code=0) at /usr/src/sys/ddb/db_main.c:229
#7  0xc08c237e in kdb_trap (type=3, code=0, tf=0xc52bcaec)
    at /usr/src/sys/kern/subr_kdb.c:535
#8  0xc0bd76cb in trap (frame=0xc52bcaec) at /usr/src/sys/i386/i386/trap.c:697
#9  0xc0bbe56c in calltrap () at /usr/src/sys/i386/i386/exception.s:166
#10 0xc08c254a in kdb_enter (why=0xc0cb4bb8 "panic", msg=0xc0cb4bb8 "panic")
    at cpufunc.h:71
#11 0xc088fcb6 in panic (fmt=0xc11a7bea "iwi firmware not idle, state %s")
    at /usr/src/sys/kern/kern_shutdown.c:573
#12 0xc11a733c in iwi_auth_and_assoc (sc=0xc78b6400, vap=0xc8c9b000)
    at /usr/src/sys/modules/iwi/../../dev/iwi/if_iwi.c:2797
#13 0xc11a7649 in iwi_newstate (vap=0xc8c9b000, nstate=IEEE80211_S_AUTH, 
    arg=192) at /usr/src/sys/modules/iwi/../../dev/iwi/if_iwi.c:1001
#14 0xc098bbb9 in ieee80211_newstate_cb (xvap=0xc8c9b000, npending=1)
    at /usr/src/sys/net80211/ieee80211_proto.c:1652
#15 0xc08cebc3 in taskqueue_run (queue=0xc7c9c080, tpp=0xc52bccd8)
    at /usr/src/sys/kern/subr_taskqueue.c:240
#16 0xc08cecae in taskqueue_thread_loop (arg=0xc7c8b074)
    at /usr/src/sys/kern/subr_taskqueue.c:372
#17 0xc08656b8 in fork_exit (callout=0xc08cec40 <taskqueue_thread_loop>, 
    arg=0xc7c8b074, frame=0xc52bcd28) at /usr/src/sys/kern/kern_fork.c:843
#18 0xc0bbe5e4 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:273
(kgdb) 


So it seems that IWI_STATE_BEGIN kcked up a fuss; it's a macro, defined
in sys/dev/iwi/if_iwivar.h:

#define IWI_STATE_BEGIN(_sc, _state)    do {                    \
        KASSERT(_sc->fw_state == IWI_FW_IDLE,                   \
            ("iwi firmware not idle, state %s", iwi_fw_states[_sc->fw_state]));\
        _sc->fw_state = _state;                                 \
        _sc->sc_state_timer = 5;                                \
        DPRINTF(("enter %s state\n", iwi_fw_states[_state]));   \
} while (0)


iwi0: firmware error
iwi0: firmware error
iwi0: firmware error
iwi0: firmware error
iwi0: firmware error
<118>wlan1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
<118>   ether 00:0e:35:aa:11:ca
<118>   media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
<118>   status: no carrier
<118>   ssid lmdhw-net channel 11 (2462 MHz 11g)
<118>   country US authmode WPA1+WPA2/802.11i privacy ON deftxkey 1
<118>   wepkey 1:40-bit txpower 0 bmiss 24 scanvalid 60 protmode CTS wme
iwi0: firmware error
iwi0: firmware error
iwi0: firmware error
iwi0: firmware error
panic: iwi firmware not idle, state ASSOCIATING
cpuid = 0
KDB: stack backtrace:
db_trace_self_wrapper(c0cb816c,c52bcb60,c088fc99,c0cf008f,0,...) at 0xc04d9fc6 = db_trace_self_wrapper+0x26
kdb_backtrace(c0cf008f,0,c11a7bea,c52bcb6c,0,...) at 0xc08c2619 = kdb_backtrace+0x29
panic(c11a7bea,c11a7c0d,c11a7aea,ae6,c79d6000,...) at 0xc088fc99 = panic+0x119
iwi_auth_and_assoc(c78b640c,0,c11a7aea,3c5,8,...) at 0xc11a733c = iwi_auth_and_assoc+0x77c
iwi_newstate(c8c9b000,2,c0,652,c52bcc90,...) at 0xc11a7649 = iwi_newstate+0x179
ieee80211_newstate_cb(c8c9b000,1,c0cb9a2b,53,c52bccd8,...) at 0xc098bbb9 = ieee80211_newstate_cb+0x179
taskqueue_run(c7c9c080,c7c9c098,0,c0cd60b0,0,...) at 0xc08cebc3 = taskqueue_run+0xc3
taskqueue_thread_loop(c7c8b074,c52bcd28,c0cafdaf,343,c0e0ba60,...) at 0xc08cecae = taskqueue_thread_loop+0x6e
fork_exit(c08cec40,c7c8b074,c52bcd28) at 0xc08656b8 = fork_exit+0xb8
fork_trampoline() at 0xc0bbe5e4 = fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xc52bcd60, ebp = 0 ---
KDB: enter: panic
panic: from debugger
cpuid = 0
Uptime: 3m42s
Physical memory: 2031 MB
Dumping 120 MB: 105 89 73 57 41 25 9

Reading symbols from /boot/kernel/linux.ko...Reading symbols from /boot/kernel/linux.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linux.ko
Reading symbols from /boot/kernel/if_an.ko...Reading symbols from /boot/kernel/if_an.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/if_an.ko
Reading symbols from /boot/kernel/if_iwi.ko...Reading symbols from /boot/kernel/if_iwi.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/if_iwi.ko
Reading symbols from /boot/kernel/if_wi.ko...Reading symbols from /boot/kernel/if_wi.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/if_wi.ko
Reading symbols from /boot/kernel/iwi_bss.ko...Reading symbols from /boot/kernel/iwi_bss.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/iwi_bss.ko
Reading symbols from /boot/kernel/iwi_ibss.ko...Reading symbols from /boot/kernel/iwi_ibss.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/iwi_ibss.ko
Reading symbols from /boot/kernel/iwi_monitor.ko...Reading symbols from /boot/kernel/iwi_monitor.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/iwi_monitor.ko
Reading symbols from /boot/kernel/radeon.ko...Reading symbols from /boot/kernel/radeon.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/radeon.ko
Reading symbols from /boot/kernel/drm.ko...Reading symbols from /boot/kernel/drm.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/drm.ko
Reading symbols from /boot/kernel/tmpfs.ko...Reading symbols from /boot/kernel/tmpfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/tmpfs.ko
#0  doadump () at pcpu.h:231
231     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) bt
#0  doadump () at pcpu.h:231
#1  0xc088f9fe in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:416
#2  0xc088fcd2 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:590
#3  0xc04d78c7 in db_panic (addr=Could not find the frame base for "db_panic".
) at /usr/src/sys/ddb/db_command.c:478
#4  0xc04d7ef1 in db_command (last_cmdp=0xc0ded6dc, cmd_table=0x0, dopager=1)
    at /usr/src/sys/ddb/db_command.c:445
#5  0xc04d804a in db_command_loop () at /usr/src/sys/ddb/db_command.c:498
#6  0xc04d9f6d in db_trap (type=3, code=0) at /usr/src/sys/ddb/db_main.c:229
#7  0xc08c237e in kdb_trap (type=3, code=0, tf=0xc52bcaec)
    at /usr/src/sys/kern/subr_kdb.c:535
#8  0xc0bd76cb in trap (frame=0xc52bcaec) at /usr/src/sys/i386/i386/trap.c:697
#9  0xc0bbe56c in calltrap () at /usr/src/sys/i386/i386/exception.s:166
#10 0xc08c254a in kdb_enter (why=0xc0cb4bb8 "panic", msg=0xc0cb4bb8 "panic")
    at cpufunc.h:71
#11 0xc088fcb6 in panic (fmt=0xc11a7bea "iwi firmware not idle, state %s")
    at /usr/src/sys/kern/kern_shutdown.c:573
#12 0xc11a733c in iwi_auth_and_assoc (sc=0xc78b6400, vap=0xc8c9b000)
    at /usr/src/sys/modules/iwi/../../dev/iwi/if_iwi.c:2797
#13 0xc11a7649 in iwi_newstate (vap=0xc8c9b000, nstate=IEEE80211_S_AUTH, 
    arg=192) at /usr/src/sys/modules/iwi/../../dev/iwi/if_iwi.c:1001
#14 0xc098bbb9 in ieee80211_newstate_cb (xvap=0xc8c9b000, npending=1)
    at /usr/src/sys/net80211/ieee80211_proto.c:1652
#15 0xc08cebc3 in taskqueue_run (queue=0xc7c9c080, tpp=0xc52bccd8)
    at /usr/src/sys/kern/subr_taskqueue.c:240
#16 0xc08cecae in taskqueue_thread_loop (arg=0xc7c8b074)
    at /usr/src/sys/kern/subr_taskqueue.c:372
#17 0xc08656b8 in fork_exit (callout=0xc08cec40 <taskqueue_thread_loop>, 
    arg=0xc7c8b074, frame=0xc52bcd28) at /usr/src/sys/kern/kern_fork.c:843
#18 0xc0bbe5e4 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:273
(kgdb) 


So it seems that IWI_STATE_BEGIN kcked up a fuss; it's a macro, defined
in sys/dev/iwi/if_iwivar.h:

#define IWI_STATE_BEGIN(_sc, _state)    do {                    \
        KASSERT(_sc->fw_state == IWI_FW_IDLE,                   \
            ("iwi firmware not idle, state %s", iwi_fw_states[_sc->fw_state]));\
        _sc->fw_state = _state;                                 \
        _sc->sc_state_timer = 5;                                \
        DPRINTF(("enter %s state\n", iwi_fw_states[_state]));   \
} while (0)
iwi0: firmware error
iwi0: firmware error
iwi0: firmware error
iwi0: firmware error
iwi0: firmware error
<118>wlan1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
<118>   ether 00:0e:35:aa:11:ca
<118>   media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
<118>   status: no carrier
<118>   ssid lmdhw-net channel 11 (2462 MHz 11g)
<118>   country US authmode WPA1+WPA2/802.11i privacy ON deftxkey 1
<118>   wepkey 1:40-bit txpower 0 bmiss 24 scanvalid 60 protmode CTS wme
iwi0: firmware error
iwi0: firmware error
iwi0: firmware error
iwi0: firmware error
panic: iwi firmware not idle, state ASSOCIATING
cpuid = 0
KDB: stack backtrace:
db_trace_self_wrapper(c0cb816c,c52bcb60,c088fc99,c0cf008f,0,...) at 0xc04d9fc6 = db_trace_self_wrapper+0x26
kdb_backtrace(c0cf008f,0,c11a7bea,c52bcb6c,0,...) at 0xc08c2619 = kdb_backtrace+0x29
panic(c11a7bea,c11a7c0d,c11a7aea,ae6,c79d6000,...) at 0xc088fc99 = panic+0x119
iwi_auth_and_assoc(c78b640c,0,c11a7aea,3c5,8,...) at 0xc11a733c = iwi_auth_and_assoc+0x77c
iwi_newstate(c8c9b000,2,c0,652,c52bcc90,...) at 0xc11a7649 = iwi_newstate+0x179
ieee80211_newstate_cb(c8c9b000,1,c0cb9a2b,53,c52bccd8,...) at 0xc098bbb9 = ieee80211_newstate_cb+0x179
taskqueue_run(c7c9c080,c7c9c098,0,c0cd60b0,0,...) at 0xc08cebc3 = taskqueue_run+0xc3
taskqueue_thread_loop(c7c8b074,c52bcd28,c0cafdaf,343,c0e0ba60,...) at 0xc08cecae = taskqueue_thread_loop+0x6e
fork_exit(c08cec40,c7c8b074,c52bcd28) at 0xc08656b8 = fork_exit+0xb8
fork_trampoline() at 0xc0bbe5e4 = fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xc52bcd60, ebp = 0 ---
KDB: enter: panic
panic: from debugger
cpuid = 0
Uptime: 3m42s
Physical memory: 2031 MB
Dumping 120 MB: 105 89 73 57 41 25 9

Reading symbols from /boot/kernel/linux.ko...Reading symbols from /boot/kernel/linux.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linux.ko
Reading symbols from /boot/kernel/if_an.ko...Reading symbols from /boot/kernel/if_an.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/if_an.ko
Reading symbols from /boot/kernel/if_iwi.ko...Reading symbols from /boot/kernel/if_iwi.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/if_iwi.ko
Reading symbols from /boot/kernel/if_wi.ko...Reading symbols from /boot/kernel/if_wi.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/if_wi.ko
Reading symbols from /boot/kernel/iwi_bss.ko...Reading symbols from /boot/kernel/iwi_bss.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/iwi_bss.ko
Reading symbols from /boot/kernel/iwi_ibss.ko...Reading symbols from /boot/kernel/iwi_ibss.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/iwi_ibss.ko
Reading symbols from /boot/kernel/iwi_monitor.ko...Reading symbols from /boot/kernel/iwi_monitor.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/iwi_monitor.ko
Reading symbols from /boot/kernel/radeon.ko...Reading symbols from /boot/kernel/radeon.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/radeon.ko
Reading symbols from /boot/kernel/drm.ko...Reading symbols from /boot/kernel/drm.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/drm.ko
Reading symbols from /boot/kernel/tmpfs.ko...Reading symbols from /boot/kernel/tmpfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/tmpfs.ko
#0  doadump () at pcpu.h:231
231     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) bt
#0  doadump () at pcpu.h:231
#1  0xc088f9fe in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:416
#2  0xc088fcd2 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:590
#3  0xc04d78c7 in db_panic (addr=Could not find the frame base for "db_panic".
) at /usr/src/sys/ddb/db_command.c:478
#4  0xc04d7ef1 in db_command (last_cmdp=0xc0ded6dc, cmd_table=0x0, dopager=1)
    at /usr/src/sys/ddb/db_command.c:445
#5  0xc04d804a in db_command_loop () at /usr/src/sys/ddb/db_command.c:498
#6  0xc04d9f6d in db_trap (type=3, code=0) at /usr/src/sys/ddb/db_main.c:229
#7  0xc08c237e in kdb_trap (type=3, code=0, tf=0xc52bcaec)
    at /usr/src/sys/kern/subr_kdb.c:535
#8  0xc0bd76cb in trap (frame=0xc52bcaec) at /usr/src/sys/i386/i386/trap.c:697
#9  0xc0bbe56c in calltrap () at /usr/src/sys/i386/i386/exception.s:166
#10 0xc08c254a in kdb_enter (why=0xc0cb4bb8 "panic", msg=0xc0cb4bb8 "panic")
    at cpufunc.h:71
#11 0xc088fcb6 in panic (fmt=0xc11a7bea "iwi firmware not idle, state %s")
    at /usr/src/sys/kern/kern_shutdown.c:573
#12 0xc11a733c in iwi_auth_and_assoc (sc=0xc78b6400, vap=0xc8c9b000)
    at /usr/src/sys/modules/iwi/../../dev/iwi/if_iwi.c:2797
#13 0xc11a7649 in iwi_newstate (vap=0xc8c9b000, nstate=IEEE80211_S_AUTH, 
    arg=192) at /usr/src/sys/modules/iwi/../../dev/iwi/if_iwi.c:1001
#14 0xc098bbb9 in ieee80211_newstate_cb (xvap=0xc8c9b000, npending=1)
    at /usr/src/sys/net80211/ieee80211_proto.c:1652
#15 0xc08cebc3 in taskqueue_run (queue=0xc7c9c080, tpp=0xc52bccd8)
    at /usr/src/sys/kern/subr_taskqueue.c:240
#16 0xc08cecae in taskqueue_thread_loop (arg=0xc7c8b074)
    at /usr/src/sys/kern/subr_taskqueue.c:372
#17 0xc08656b8 in fork_exit (callout=0xc08cec40 <taskqueue_thread_loop>, 
    arg=0xc7c8b074, frame=0xc52bcd28) at /usr/src/sys/kern/kern_fork.c:843
#18 0xc0bbe5e4 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:273
(kgdb) 


So it seems that IWI_STATE_BEGIN kcked up a fuss; it's a macro,
defined in sys/dev/iwi/if_iwivar.h:

#define IWI_STATE_BEGIN(_sc, _state)    do {                    \
        KASSERT(_sc->fw_state == IWI_FW_IDLE,                   \
            ("iwi firmware not idle, state %s", iwi_fw_states[_sc->fw_state]));\
        _sc->fw_state = _state;                                 \
        _sc->sc_state_timer = 5;                                \
        DPRINTF(("enter %s state\n", iwi_fw_states[_state]));   \
} while (0)


So.... maybe that "firmware error" isn't so benign after all?  I'm
not exactly sure what I can actually do about it (and still use the
device)....

Clues?  I'm happy to hack a bit & test, given guidance....

Peace,
david
-- 
David H. Wolfskill				david_at_catwhisker.org
Depriving a girl or boy of an opportunity for education is evil.

See http://www.catwhisker.org/~david/publickey.gpg for my public key.

Received on Thu Aug 05 2010 - 12:05:51 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:05 UTC