ath as AP panics
Adrian Chadd
adrian at freebsd.org
Mon Aug 12 17:29:10 UTC 2013
Hi,
So the if_transmit() change did change a few things. if_start() /
*_ENQUEUE() clears m_nextpkt().
I'd like to know where m_nextpkt() is NOT being cleared.
How about triggering it quickly - put in a panic there rather than
NULL'ing it, then when it immediately panics, do a backtrace?
-adrian
On 12 August 2013 10:23, Lev Serebryakov <lev at freebsd.org> wrote:
> Hello, Freebsd-wireless.
>
> r254238 with ath used as AP panics in fragment processing. This patch from
> adrian:
>
> Index: ieee80211_output.c
> ===================================================================
> --- ieee80211_output.c (revision 254224)
> +++ ieee80211_output.c (working copy)
> @@ -458,6 +458,16 @@
> m->m_flags &= ~(M_80211_TX - M_PWR_SAV - M_MORE_DATA);
>
> /*
> + * Complain if m->m_nextpkt is set.
> + *
> + * The caller should've pulled this apart for us.
> + */
> + if (m->m_nextpkt != NULL) {
> + printf("%s: m_nextpkt not NULL?!\n", __func__);
> + m->m_nextpkt = NULL;
> + }
> +
> + /*
> * Bump to the packet transmission path.
> * The mbuf will be consumed here.
> */
>
>
> replaces panic with lot of debug output and looks like not a solution, but
> dirty hack. Now I'm trying r254250 with this patch, but it looks like it
> should be same as r254238, as nothing 802.11-related was changed in-between.
>
> --
> // Black Lion AKA Lev Serebryakov <lev at FreeBSD.org>
>
> _______________________________________________
> freebsd-wireless at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-wireless
> To unsubscribe, send any mail to "freebsd-wireless-unsubscribe at freebsd.org"
More information about the freebsd-wireless
mailing list