From owner-freebsd-wireless@FreeBSD.ORG Mon Aug 12 17:32:39 2013 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id C13B8884; Mon, 12 Aug 2013 17:32:39 +0000 (UTC) (envelope-from lev@FreeBSD.org) Received: from onlyone.friendlyhosting.spb.ru (onlyone.friendlyhosting.spb.ru [46.4.40.135]) by mx1.freebsd.org (Postfix) with ESMTP id 810EE2EEC; Mon, 12 Aug 2013 17:32:39 +0000 (UTC) Received: from lion.home.serebryakov.spb.ru (unknown [IPv6:2001:470:923f:1:acaf:d9db:8ffe:1642]) (Authenticated sender: lev@serebryakov.spb.ru) by onlyone.friendlyhosting.spb.ru (Postfix) with ESMTPSA id B869D4AC1C; Mon, 12 Aug 2013 21:32:37 +0400 (MSK) Date: Mon, 12 Aug 2013 21:32:35 +0400 From: Lev Serebryakov Organization: FreeBSD Project X-Priority: 3 (Normal) Message-ID: <1391593482.20130812213235@serebryakov.spb.ru> To: Adrian Chadd Subject: Re: ath as AP panics In-Reply-To: References: <238348209.20130812212328@serebryakov.spb.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=windows-1251 Content-Transfer-Encoding: quoted-printable Cc: freebsd-wireless@freebsd.org X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: lev@FreeBSD.org List-Id: "Discussions of 802.11 stack, tools device driver development." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Aug 2013 17:32:39 -0000 Hello, Adrian. You wrote 12 =E0=E2=E3=F3=F1=F2=E0 2013 =E3., 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=3D1) at pcpu.h:236 236 pcpu.h: No such file or directory. in pcpu.h (kgdb) #0 doadump (textdump=3D1) at pcpu.h:236 #1 0xffffffff804b4505 in kern_reboot (howto=3D260) at /data/src/sys/kern/kern_shutdown.c:447 #2 0xffffffff804b48e4 in panic (fmt=3D) at /data/src/sys/kern/kern_shutdown.c:754 #3 0xffffffff806c5b5a in trap_fatal (frame=3D,=20 eva=3D) at /data/src/sys/amd64/amd64/trap.c:873 #4 0xffffffff806c5dc7 in trap_pfault (frame=3D0x0, usermode=3D0) at /data/src/sys/amd64/amd64/trap.c:699 #5 0xffffffff806c54f4 in trap (frame=3D0xffffff812205e7a0) 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=3D0xfffffe0001a9a800,=20 m=3D) at /data/src/sys/dev/ath/if_ath.c:2953 #8 0xffffffff8059a1e6 in ieee80211_vap_pkt_send_dest ( vap=3D, m=3D, ni=3D0xffffff80= 00f96000) at /data/src/sys/net80211/ieee80211_output.c:239 #9 0xffffffff8059ae3b in ieee80211_vap_transmit (ifp=3D,=20 m=3D) at /data/src/sys/net80211/ieee80211_output.c= :389 #10 0xffffffff8059f5ff in pwrsave_flushq (ni=3D) at /data/src/sys/net80211/ieee80211_power.c:479 #11 0xffffffff80588209 in hostap_input (ni=3D0xffffff8000f96000,=20 m=3D, rssi=3D43, nf=3D-96) at /data/src/sys/net80211/ieee80211_hostap.c:648 #12 0xffffffff8030825a in ath_rx_pkt (sc=3D0xffffff80007ba000,=20 rs=3D0xffffff8000880d78, status=3DHAL_OK, tsf=3D, = nf=3D-96,=20 qtype=3D, m=3D) at /data/src/sys/dev/ath/if_ath_rx.c:808 #13 0xffffffff80308ec0 in ath_rx_proc (sc=3D0xffffff80007ba000, resched=3D1) at /data/src/sys/dev/ath/if_ath_rx.c:995 #14 0xffffffff804f2426 in taskqueue_run_locked (queue=3D0xfffffe0001a59b00) at /data/src/sys/kern/subr_taskqueue.c:333 #15 0xffffffff804f2ca8 in taskqueue_thread_loop (arg=3D) at /data/src/sys/kern/subr_taskqueue.c:535 #16 0xffffffff804885e5 in fork_exit ( callout=3D0xffffffff804f2c00 ,=20 arg=3D0xffffff80007ba830, frame=3D0xffffff812205ec00) at /data/src/sys/kern/kern_fork.c:991 #17 0xffffffff806afcee in fork_trampoline () at /data/src/sys/amd64/amd64/exception.S:606 --=20 // Black Lion AKA Lev Serebryakov