Date: Sat, 14 Aug 2010 19:05:40 +0200 From: Bernhard Schmidt <bschmidt@techwires.net> To: David Wolfskill <david@catwhisker.org>, Adrian Chadd <adrian@freebsd.org>, current@freebsd.org, Rui Paulo <rpaulo@lavabit.com> Subject: Re: Panic: Kernel page fault with ath0_com_lock held, r211295 Message-ID: <AANLkTikr3vRYnjxzGQcc-TyRkk_SO4YUdwn=T2fQjsiK@mail.gmail.com> In-Reply-To: <20100814164750.GJ1670@albert.catwhisker.org> References: <20100814152907.GG1670@albert.catwhisker.org> <AANLkTi=zceU9Vb2C5_xPVcT8yaxF4ZsSHPieqBhDbsaW@mail.gmail.com> <20100814164750.GJ1670@albert.catwhisker.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On Sat, Aug 14, 2010 at 18:47, David Wolfskill <david@catwhisker.org> wrote:
> On Sun, Aug 15, 2010 at 12:07:13AM +0800, Adrian Chadd wrote:
>> You should be able to revert the ath changes reasonably easy.
>>
>> Would you mind doing that and see if that fixes or contributes to the problem?
>
> OK; I reverted by doing this:
>
> g1-46(9.0-C)[1] cd /usr/src
> g1-46(9.0-C)[2] svn merge -c -211295 file:///svn/freebsd/src/base/head
> --- Reverse-merging r211295 into 'sys':
> U sys/net80211/ieee80211_node.c
> U sys/net80211/ieee80211_sta.c
> g1-46(9.0-C)[3]
>
> I then re-built the kernel and rebooted (with the ath(4) card inserted):
> [..]
> I think that qualifies as "working".
Indeed, please try attached patch.
--
Bernhard
[-- Attachment #2 --]
Index: sys/net80211/ieee80211_var.h
===================================================================
--- sys/net80211/ieee80211_var.h (revision 211294)
+++ sys/net80211/ieee80211_var.h (working copy)
@@ -553,6 +553,7 @@ MALLOC_DECLARE(M_80211_VAP);
#define IEEE80211_FEXT_WDSLEGACY 0x00010000 /* CONF: legacy WDS operation */
#define IEEE80211_FEXT_PROBECHAN 0x00020000 /* CONF: probe passive channel*/
#define IEEE80211_FEXT_UNIQMAC 0x00040000 /* CONF: user or computed mac */
+#define IEEE80211_FEXT_RATECTL 0x00080000 /* CONF: ratectl used */
#define IEEE80211_FEXT_BITS \
"\20\2INACT\3SCANWAIT\4BGSCAN\5WPS\6TSN\7SCANREQ\10RESUME" \
Index: sys/net80211/ieee80211_ratectl.h
===================================================================
--- sys/net80211/ieee80211_ratectl.h (revision 211294)
+++ sys/net80211/ieee80211_ratectl.h (working copy)
@@ -63,6 +63,7 @@ MALLOC_DECLARE(M_80211_RATECTL);
static void __inline
ieee80211_ratectl_init(struct ieee80211vap *vap)
{
+ vap->iv_flags_ext |= IEEE80211_FEXT_RATECTL;
vap->iv_rate->ir_init(vap);
}
@@ -77,6 +78,8 @@ ieee80211_ratectl_node_init(struct ieee80211_node
{
const struct ieee80211vap *vap = ni->ni_vap;
+ if ((vap->iv_flags_ext & IEEE80211_FEXT_RATECTL) == 0)
+ return;
vap->iv_rate->ir_node_init(ni);
}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTikr3vRYnjxzGQcc-TyRkk_SO4YUdwn=T2fQjsiK>
