Folks having problems with ath on releng7 should try the attached patch.
Sam
Index: ieee80211_freebsd.h
===================================================================
RCS file: /usr/ncvs/src/sys/net80211/ieee80211_freebsd.h,v
retrieving revision 1.15.2.1
diff -u -r1.15.2.1 ieee80211_freebsd.h
--- ieee80211_freebsd.h 11 Nov 2007 17:44:35 -0000 1.15.2.1
+++ ieee80211_freebsd.h 21 Nov 2008 03:32:42 -0000
@@ -197,9 +197,10 @@
#define M_LINK0 M_PROTO1 /* WEP requested */
#define M_PWR_SAV M_PROTO4 /* bypass PS handling */
#define M_MORE_DATA M_PROTO5 /* more data frames to
follow */
-#define M_FF 0x20000 /* fast frame */
-#define M_TXCB 0x40000 /* do tx complete
callback */
-#define M_80211_TX
(0x60000|M_PROTO1|M_WME_AC_MASK|M_PROTO4|M_PROTO5)
+#define M_FF M_PROTO6 /* fast frame */
+#define M_TXCB M_PROTO7 /* do tx complete
callback */
+#define M_80211_TX \
+ (M_LINK0|M_WME_AC_MASK|M_PWR_SAV|M_MORE_DATA|M_FF|M_TXCB)
/* rx path usage */
#define M_AMPDU M_PROTO1 /* A-MPDU processing
done */
--- Begin Message ---
Here is the reason in net80211/ieee80211_freebsd.h:
/* tx path usage */
#define M_LINK0 M_PROTO1 /* WEP requested */
#define M_PWR_SAV M_PROTO4 /* bypass PS handling */
#define M_MORE_DATA M_PROTO5 /* more data frames to
follow */
#define M_FF 0x20000 /* fast frame */
#define M_TXCB 0x40000 /* do tx complete
callback */
#define M_80211_TX (0x60000|M_PROTO1|M_WME_AC_MASK|M_PROTO4|M_PROTO5)
M_FF and M_TXCB overlay M_PROMISC and M_NOFREE. Please try reverting
your change and then set M_FF to M_PROTO6 and M_TXCB M_PROTO7.
Sam
Guy Coleman wrote:
The following reply was made to PR kern/123552; it has been noted by GNATS.
From: Guy Coleman <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Cc:
Subject: Re: kern/123552: [ath] [panic] kernel panic during network activity
on ath0
Date: Thu, 20 Nov 2008 21:51:37 +0000
I've found that partially reverting revs 1.181.2.2 and 1.181.2.4 of
sys/net/bpf.c stops the panic from happening. I have no idea why.
--- bpf.c.bak 2008-11-09 19:46:55.000000000 +0000
+++ bpf.c 2008-11-16 22:37:10.000000000 +0000
@@ -85,6 +85,8 @@
#define PRINET 26 /* interruptible */
+#define M_SKIP_BPF M_SKIP_FIREWALL
+
/*
* bpf_iflist is a list of BPF interface structures, each
corresponding to a
* specific DLT. The same network interface might have several BPF
interface
@@ -653,7 +655,7 @@
mc->m_pkthdr.rcvif = ifp;
/* Set M_PROMISC for outgoing packets to be discarded. */
if (d->bd_direction == BPF_D_INOUT)
- m->m_flags |= M_PROMISC;
+ m->m_flags |= M_SKIP_BPF;
} else
mc = NULL;
@@ -1358,9 +1360,8 @@
int gottime;
struct timeval tv;
- /* Skip outgoing duplicate packets. */
- if ((m->m_flags & M_PROMISC) != 0 && m->m_pkthdr.rcvif == NULL) {
- m->m_flags &= ~M_PROMISC;
+ if (m->m_flags & M_SKIP_BPF) {
+ m->m_flags &= ~M_SKIP_BPF;
return;
}
@@ -1413,9 +1414,8 @@
int gottime;
struct timeval tv;
- /* Skip outgoing duplicate packets. */
- if ((m->m_flags & M_PROMISC) != 0 && m->m_pkthdr.rcvif == NULL) {
- m->m_flags &= ~M_PROMISC;
+ if (m->m_flags & M_SKIP_BPF) {
+ m->m_flags &= ~M_SKIP_BPF;
return;
}
--- End Message ---
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"