ath as AP panics

Adrian Chadd adrian at freebsd.org
Mon Aug 12 17:34:07 UTC 2013


Hm. OK.

What I want is the code path _in_ that's queuing a frame via
ieee80211_vap_transmit() with m_nextpkt set to NON-NULL.



-adrian

On 12 August 2013 10:32, Lev Serebryakov <lev at freebsd.org> wrote:
> Hello, Adrian.
> You wrote 12 августа 2013 г., 21:29:08:
>
> AC> So the if_transmit() change did change a few things. if_start() /
> AC> *_ENQUEUE() clears m_nextpkt().
>
> AC> I'd like to know where m_nextpkt() is NOT being cleared.
>
> AC> How about triggering it quickly - put in a panic there rather than
> AC> NULL'ing it, then when it immediately panics, do a backtrace?
>   So, replace printf() here with panic()?
>   Now I have backtrace from panic BEFORE this diagnostic patch is applied.
>   Isn't it enough?
>
> #0  doadump (textdump=1) at pcpu.h:236
> 236     pcpu.h: No such file or directory.
>         in pcpu.h
> (kgdb) #0  doadump (textdump=1) at pcpu.h:236
> #1  0xffffffff804b4505 in kern_reboot (howto=260)
>     at /data/src/sys/kern/kern_shutdown.c:447
> #2  0xffffffff804b48e4 in panic (fmt=<value optimized out>)
>     at /data/src/sys/kern/kern_shutdown.c:754
> #3  0xffffffff806c5b5a in trap_fatal (frame=<value optimized out>,
>     eva=<value optimized out>) at /data/src/sys/amd64/amd64/trap.c:873
> #4  0xffffffff806c5dc7 in trap_pfault (frame=0x0, usermode=0)
>     at /data/src/sys/amd64/amd64/trap.c:699
> #5  0xffffffff806c54f4 in trap (frame=0xffffff812205e7a0)
>     at /data/src/sys/amd64/amd64/trap.c:463
> #6  0xffffffff806af7b3 in calltrap ()
>     at /data/src/sys/amd64/amd64/exception.S:232
> #7  0xffffffff802ef411 in ath_transmit (ifp=0xfffffe0001a9a800,
>     m=<value optimized out>) at /data/src/sys/dev/ath/if_ath.c:2953
> #8  0xffffffff8059a1e6 in ieee80211_vap_pkt_send_dest (
>     vap=<value optimized out>, m=<value optimized out>, ni=0xffffff8000f96000)
>     at /data/src/sys/net80211/ieee80211_output.c:239
> #9  0xffffffff8059ae3b in ieee80211_vap_transmit (ifp=<value optimized out>,
>     m=<value optimized out>) at /data/src/sys/net80211/ieee80211_output.c:389
> #10 0xffffffff8059f5ff in pwrsave_flushq (ni=<value optimized out>)
>     at /data/src/sys/net80211/ieee80211_power.c:479
> #11 0xffffffff80588209 in hostap_input (ni=0xffffff8000f96000,
>     m=<value optimized out>, rssi=43, nf=-96)
>     at /data/src/sys/net80211/ieee80211_hostap.c:648
> #12 0xffffffff8030825a in ath_rx_pkt (sc=0xffffff80007ba000,
>     rs=0xffffff8000880d78, status=HAL_OK, tsf=<value optimized out>, nf=-96,
>     qtype=<value optimized out>, m=<value optimized out>)
>     at /data/src/sys/dev/ath/if_ath_rx.c:808
> #13 0xffffffff80308ec0 in ath_rx_proc (sc=0xffffff80007ba000, resched=1)
>     at /data/src/sys/dev/ath/if_ath_rx.c:995
> #14 0xffffffff804f2426 in taskqueue_run_locked (queue=0xfffffe0001a59b00)
>     at /data/src/sys/kern/subr_taskqueue.c:333
> #15 0xffffffff804f2ca8 in taskqueue_thread_loop (arg=<value optimized out>)
>     at /data/src/sys/kern/subr_taskqueue.c:535
> #16 0xffffffff804885e5 in fork_exit (
>     callout=0xffffffff804f2c00 <taskqueue_thread_loop>,
>     arg=0xffffff80007ba830, frame=0xffffff812205ec00)
>     at /data/src/sys/kern/kern_fork.c:991
> #17 0xffffffff806afcee in fork_trampoline ()
>     at /data/src/sys/amd64/amd64/exception.S:606
>
>
>
>
> --
> // Black Lion AKA Lev Serebryakov <lev at FreeBSD.org>
>


More information about the freebsd-wireless mailing list