Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Aug 2010 07:05:50 -0700
From:      David Wolfskill <david@catwhisker.org>
To:        current@freebsd.org
Subject:   Panic @r210841 in iwi_auth_and_assoc(): iwi firmware not idle, state ASSOCIATING
Message-ID:  <20100805140550.GT12818@albert.catwhisker.org>

next in thread | raw e-mail | index | archive | help

--OAN8QHC2SXyWe5k/
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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@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=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 m=
tu 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 =3D 0
KDB: stack backtrace:
db_trace_self_wrapper(c0cb816c,c52bcb60,c088fc99,c0cf008f,0,...) at 0xc04d9=
fc6 =3D db_trace_self_wrapper+0x26
kdb_backtrace(c0cf008f,0,c11a7bea,c52bcb6c,0,...) at 0xc08c2619 =3D kdb_bac=
ktrace+0x29
panic(c11a7bea,c11a7c0d,c11a7aea,ae6,c79d6000,...) at 0xc088fc99 =3D panic+=
0x119
iwi_auth_and_assoc(c78b640c,0,c11a7aea,3c5,8,...) at 0xc11a733c =3D iwi_aut=
h_and_assoc+0x77c
iwi_newstate(c8c9b000,2,c0,652,c52bcc90,...) at 0xc11a7649 =3D iwi_newstate=
+0x179
ieee80211_newstate_cb(c8c9b000,1,c0cb9a2b,53,c52bccd8,...) at 0xc098bbb9 =
=3D ieee80211_newstate_cb+0x179
taskqueue_run(c7c9c080,c7c9c098,0,c0cd60b0,0,...) at 0xc08cebc3 =3D taskque=
ue_run+0xc3
taskqueue_thread_loop(c7c8b074,c52bcd28,c0cafdaf,343,c0e0ba60,...) at 0xc08=
cecae =3D taskqueue_thread_loop+0x6e
fork_exit(c08cec40,c7c8b074,c52bcd28) at 0xc08656b8 =3D fork_exit+0xb8
fork_trampoline() at 0xc0bbe5e4 =3D fork_trampoline+0x8
--- trap 0, eip =3D 0, esp =3D 0xc52bcd60, ebp =3D 0 ---
KDB: enter: panic
panic: from debugger
cpuid =3D 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/ker=
nel/linux.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linux.ko
Reading symbols from /boot/kernel/if_an.ko...Reading symbols from /boot/ker=
nel/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/ke=
rnel/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/ker=
nel/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/k=
ernel/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 /bo=
ot/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/ke=
rnel/radeon.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/radeon.ko
Reading symbols from /boot/kernel/drm.ko...Reading symbols from /boot/kerne=
l/drm.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/drm.ko
Reading symbols from /boot/kernel/tmpfs.ko...Reading symbols from /boot/ker=
nel/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=3D260) at /usr/src/sys/kern/kern_shutdown.c:4=
16
#2  0xc088fcd2 in panic (fmt=3DVariable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:590
#3  0xc04d78c7 in db_panic (addr=3DCould not find the frame base for "db_pa=
nic".
) at /usr/src/sys/ddb/db_command.c:478
#4  0xc04d7ef1 in db_command (last_cmdp=3D0xc0ded6dc, cmd_table=3D0x0, dopa=
ger=3D1)
    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=3D3, code=3D0) at /usr/src/sys/ddb/db_main.=
c:229
#7  0xc08c237e in kdb_trap (type=3D3, code=3D0, tf=3D0xc52bcaec)
    at /usr/src/sys/kern/subr_kdb.c:535
#8  0xc0bd76cb in trap (frame=3D0xc52bcaec) 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=3D0xc0cb4bb8 "panic", msg=3D0xc0cb4bb8 "pa=
nic")
    at cpufunc.h:71
#11 0xc088fcb6 in panic (fmt=3D0xc11a7bea "iwi firmware not idle, state %s")
    at /usr/src/sys/kern/kern_shutdown.c:573
#12 0xc11a733c in iwi_auth_and_assoc (sc=3D0xc78b6400, vap=3D0xc8c9b000)
    at /usr/src/sys/modules/iwi/../../dev/iwi/if_iwi.c:2797
#13 0xc11a7649 in iwi_newstate (vap=3D0xc8c9b000, nstate=3DIEEE80211_S_AUTH=
,=20
    arg=3D192) at /usr/src/sys/modules/iwi/../../dev/iwi/if_iwi.c:1001
#14 0xc098bbb9 in ieee80211_newstate_cb (xvap=3D0xc8c9b000, npending=3D1)
    at /usr/src/sys/net80211/ieee80211_proto.c:1652
#15 0xc08cebc3 in taskqueue_run (queue=3D0xc7c9c080, tpp=3D0xc52bccd8)
    at /usr/src/sys/kern/subr_taskqueue.c:240
#16 0xc08cecae in taskqueue_thread_loop (arg=3D0xc7c8b074)
    at /usr/src/sys/kern/subr_taskqueue.c:372
#17 0xc08656b8 in fork_exit (callout=3D0xc08cec40 <taskqueue_thread_loop>,=
=20
    arg=3D0xc7c8b074, frame=3D0xc52bcd28) at /usr/src/sys/kern/kern_fork.c:=
843
#18 0xc0bbe5e4 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:=
273
(kgdb)=20


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 =3D=3D IWI_FW_IDLE,                   \
            ("iwi firmware not idle, state %s", iwi_fw_states[_sc->fw_state=
]));\
        _sc->fw_state =3D _state;                                 \
        _sc->sc_state_timer =3D 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=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 m=
tu 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 =3D 0
KDB: stack backtrace:
db_trace_self_wrapper(c0cb816c,c52bcb60,c088fc99,c0cf008f,0,...) at 0xc04d9=
fc6 =3D db_trace_self_wrapper+0x26
kdb_backtrace(c0cf008f,0,c11a7bea,c52bcb6c,0,...) at 0xc08c2619 =3D kdb_bac=
ktrace+0x29
panic(c11a7bea,c11a7c0d,c11a7aea,ae6,c79d6000,...) at 0xc088fc99 =3D panic+=
0x119
iwi_auth_and_assoc(c78b640c,0,c11a7aea,3c5,8,...) at 0xc11a733c =3D iwi_aut=
h_and_assoc+0x77c
iwi_newstate(c8c9b000,2,c0,652,c52bcc90,...) at 0xc11a7649 =3D iwi_newstate=
+0x179
ieee80211_newstate_cb(c8c9b000,1,c0cb9a2b,53,c52bccd8,...) at 0xc098bbb9 =
=3D ieee80211_newstate_cb+0x179
taskqueue_run(c7c9c080,c7c9c098,0,c0cd60b0,0,...) at 0xc08cebc3 =3D taskque=
ue_run+0xc3
taskqueue_thread_loop(c7c8b074,c52bcd28,c0cafdaf,343,c0e0ba60,...) at 0xc08=
cecae =3D taskqueue_thread_loop+0x6e
fork_exit(c08cec40,c7c8b074,c52bcd28) at 0xc08656b8 =3D fork_exit+0xb8
fork_trampoline() at 0xc0bbe5e4 =3D fork_trampoline+0x8
--- trap 0, eip =3D 0, esp =3D 0xc52bcd60, ebp =3D 0 ---
KDB: enter: panic
panic: from debugger
cpuid =3D 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/ker=
nel/linux.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linux.ko
Reading symbols from /boot/kernel/if_an.ko...Reading symbols from /boot/ker=
nel/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/ke=
rnel/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/ker=
nel/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/k=
ernel/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 /bo=
ot/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/ke=
rnel/radeon.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/radeon.ko
Reading symbols from /boot/kernel/drm.ko...Reading symbols from /boot/kerne=
l/drm.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/drm.ko
Reading symbols from /boot/kernel/tmpfs.ko...Reading symbols from /boot/ker=
nel/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=3D260) at /usr/src/sys/kern/kern_shutdown.c:4=
16
#2  0xc088fcd2 in panic (fmt=3DVariable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:590
#3  0xc04d78c7 in db_panic (addr=3DCould not find the frame base for "db_pa=
nic".
) at /usr/src/sys/ddb/db_command.c:478
#4  0xc04d7ef1 in db_command (last_cmdp=3D0xc0ded6dc, cmd_table=3D0x0, dopa=
ger=3D1)
    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=3D3, code=3D0) at /usr/src/sys/ddb/db_main.=
c:229
#7  0xc08c237e in kdb_trap (type=3D3, code=3D0, tf=3D0xc52bcaec)
    at /usr/src/sys/kern/subr_kdb.c:535
#8  0xc0bd76cb in trap (frame=3D0xc52bcaec) 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=3D0xc0cb4bb8 "panic", msg=3D0xc0cb4bb8 "pa=
nic")
    at cpufunc.h:71
#11 0xc088fcb6 in panic (fmt=3D0xc11a7bea "iwi firmware not idle, state %s")
    at /usr/src/sys/kern/kern_shutdown.c:573
#12 0xc11a733c in iwi_auth_and_assoc (sc=3D0xc78b6400, vap=3D0xc8c9b000)
    at /usr/src/sys/modules/iwi/../../dev/iwi/if_iwi.c:2797
#13 0xc11a7649 in iwi_newstate (vap=3D0xc8c9b000, nstate=3DIEEE80211_S_AUTH=
,=20
    arg=3D192) at /usr/src/sys/modules/iwi/../../dev/iwi/if_iwi.c:1001
#14 0xc098bbb9 in ieee80211_newstate_cb (xvap=3D0xc8c9b000, npending=3D1)
    at /usr/src/sys/net80211/ieee80211_proto.c:1652
#15 0xc08cebc3 in taskqueue_run (queue=3D0xc7c9c080, tpp=3D0xc52bccd8)
    at /usr/src/sys/kern/subr_taskqueue.c:240
#16 0xc08cecae in taskqueue_thread_loop (arg=3D0xc7c8b074)
    at /usr/src/sys/kern/subr_taskqueue.c:372
#17 0xc08656b8 in fork_exit (callout=3D0xc08cec40 <taskqueue_thread_loop>,=
=20
    arg=3D0xc7c8b074, frame=3D0xc52bcd28) at /usr/src/sys/kern/kern_fork.c:=
843
#18 0xc0bbe5e4 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:=
273
(kgdb)=20


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 =3D=3D IWI_FW_IDLE,                   \
            ("iwi firmware not idle, state %s", iwi_fw_states[_sc->fw_state=
]));\
        _sc->fw_state =3D _state;                                 \
        _sc->sc_state_timer =3D 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=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 m=
tu 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 =3D 0
KDB: stack backtrace:
db_trace_self_wrapper(c0cb816c,c52bcb60,c088fc99,c0cf008f,0,...) at 0xc04d9=
fc6 =3D db_trace_self_wrapper+0x26
kdb_backtrace(c0cf008f,0,c11a7bea,c52bcb6c,0,...) at 0xc08c2619 =3D kdb_bac=
ktrace+0x29
panic(c11a7bea,c11a7c0d,c11a7aea,ae6,c79d6000,...) at 0xc088fc99 =3D panic+=
0x119
iwi_auth_and_assoc(c78b640c,0,c11a7aea,3c5,8,...) at 0xc11a733c =3D iwi_aut=
h_and_assoc+0x77c
iwi_newstate(c8c9b000,2,c0,652,c52bcc90,...) at 0xc11a7649 =3D iwi_newstate=
+0x179
ieee80211_newstate_cb(c8c9b000,1,c0cb9a2b,53,c52bccd8,...) at 0xc098bbb9 =
=3D ieee80211_newstate_cb+0x179
taskqueue_run(c7c9c080,c7c9c098,0,c0cd60b0,0,...) at 0xc08cebc3 =3D taskque=
ue_run+0xc3
taskqueue_thread_loop(c7c8b074,c52bcd28,c0cafdaf,343,c0e0ba60,...) at 0xc08=
cecae =3D taskqueue_thread_loop+0x6e
fork_exit(c08cec40,c7c8b074,c52bcd28) at 0xc08656b8 =3D fork_exit+0xb8
fork_trampoline() at 0xc0bbe5e4 =3D fork_trampoline+0x8
--- trap 0, eip =3D 0, esp =3D 0xc52bcd60, ebp =3D 0 ---
KDB: enter: panic
panic: from debugger
cpuid =3D 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/ker=
nel/linux.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/linux.ko
Reading symbols from /boot/kernel/if_an.ko...Reading symbols from /boot/ker=
nel/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/ke=
rnel/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/ker=
nel/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/k=
ernel/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 /bo=
ot/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/ke=
rnel/radeon.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/radeon.ko
Reading symbols from /boot/kernel/drm.ko...Reading symbols from /boot/kerne=
l/drm.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/drm.ko
Reading symbols from /boot/kernel/tmpfs.ko...Reading symbols from /boot/ker=
nel/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=3D260) at /usr/src/sys/kern/kern_shutdown.c:4=
16
#2  0xc088fcd2 in panic (fmt=3DVariable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:590
#3  0xc04d78c7 in db_panic (addr=3DCould not find the frame base for "db_pa=
nic".
) at /usr/src/sys/ddb/db_command.c:478
#4  0xc04d7ef1 in db_command (last_cmdp=3D0xc0ded6dc, cmd_table=3D0x0, dopa=
ger=3D1)
    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=3D3, code=3D0) at /usr/src/sys/ddb/db_main.=
c:229
#7  0xc08c237e in kdb_trap (type=3D3, code=3D0, tf=3D0xc52bcaec)
    at /usr/src/sys/kern/subr_kdb.c:535
#8  0xc0bd76cb in trap (frame=3D0xc52bcaec) 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=3D0xc0cb4bb8 "panic", msg=3D0xc0cb4bb8 "pa=
nic")
    at cpufunc.h:71
#11 0xc088fcb6 in panic (fmt=3D0xc11a7bea "iwi firmware not idle, state %s")
    at /usr/src/sys/kern/kern_shutdown.c:573
#12 0xc11a733c in iwi_auth_and_assoc (sc=3D0xc78b6400, vap=3D0xc8c9b000)
    at /usr/src/sys/modules/iwi/../../dev/iwi/if_iwi.c:2797
#13 0xc11a7649 in iwi_newstate (vap=3D0xc8c9b000, nstate=3DIEEE80211_S_AUTH=
,=20
    arg=3D192) at /usr/src/sys/modules/iwi/../../dev/iwi/if_iwi.c:1001
#14 0xc098bbb9 in ieee80211_newstate_cb (xvap=3D0xc8c9b000, npending=3D1)
    at /usr/src/sys/net80211/ieee80211_proto.c:1652
#15 0xc08cebc3 in taskqueue_run (queue=3D0xc7c9c080, tpp=3D0xc52bccd8)
    at /usr/src/sys/kern/subr_taskqueue.c:240
#16 0xc08cecae in taskqueue_thread_loop (arg=3D0xc7c8b074)
    at /usr/src/sys/kern/subr_taskqueue.c:372
#17 0xc08656b8 in fork_exit (callout=3D0xc08cec40 <taskqueue_thread_loop>,=
=20
    arg=3D0xc7c8b074, frame=3D0xc52bcd28) at /usr/src/sys/kern/kern_fork.c:=
843
#18 0xc0bbe5e4 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:=
273
(kgdb)=20


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 =3D=3D IWI_FW_IDLE,                   \
            ("iwi firmware not idle, state %s", iwi_fw_states[_sc->fw_state=
]));\
        _sc->fw_state =3D _state;                                 \
        _sc->sc_state_timer =3D 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
--=20
David H. Wolfskill				david@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.

--OAN8QHC2SXyWe5k/
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (FreeBSD)

iEYEARECAAYFAkxaxT0ACgkQmprOCmdXAD1cpQCfSs8XBUR3GqBQUCLF8wgrY+JY
eGkAnjz+lXyYIsiuJSU/1y0PAVUplZaj
=+BS8
-----END PGP SIGNATURE-----

--OAN8QHC2SXyWe5k/--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100805140550.GT12818>