Date: Fri, 20 Aug 2010 08:56:53 +0200 From: Bernhard Schmidt <bschmidt@techwires.net> To: Chris Ruiz <yr.retarded@gmail.com> Cc: freebsd-current Current <freebsd-current@freebsd.org> Subject: Re: recent ath changes related panic Message-ID: <AANLkTi=Y1BmGNUvj421XSRvuK8bnjG%2BzfeYmKQG6p-o5@mail.gmail.com> In-Reply-To: <AANLkTindYRWP-puST=NUu7kWpqSbgKrW9prvpELHEjU3@mail.gmail.com> References: <AANLkTik1PuYiTXe8g8HAyf1SN8Um9ZfVOj_A1b%2BRPTwj@mail.gmail.com> <AANLkTindYRWP-puST=NUu7kWpqSbgKrW9prvpELHEjU3@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On Fri, Aug 20, 2010 at 08:31, Bernhard Schmidt <bschmidt@techwires.net> wrote:
> On Fri, Aug 20, 2010 at 01:04, Chris Ruiz <yr.retarded@gmail.com> wrote:
>> I run a PCI Atheros card in hostap mode on CURRENT.
>>
>> ath0@pci0:6:0:0: class=0x020000 card=0x5a001385 chip=0x0013168c
>> rev=0x01 hdr=0x00
>> vendor = 'Atheros Communications Inc.'
>> device = '802.11a/b/g Wireless Adapter (AR2312)'
>> class = network
>> subclass = ethernet
>>
>> Everything works fine with r211193 but with newer kernels I receive
>> the same panic related to the ath0 tasq.
>
>
> I guess this also happens with post-r211314 kernels?
Seems like I missed you wrap a few ieee80211_ratectl_node_init()
calls. Please try attached patch, it should fix it.
--
Bernhard
[-- Attachment #2 --]
Index: sys/net80211/ieee80211_node.c
===================================================================
--- sys/net80211/ieee80211_node.c (revision 211524)
+++ sys/net80211/ieee80211_node.c (working copy)
@@ -817,8 +817,7 @@ ieee80211_sta_join(struct ieee80211vap *vap, struc
if (ieee80211_iserp_rateset(&ni->ni_rates))
ni->ni_flags |= IEEE80211_NODE_ERP;
ieee80211_node_setuptxparms(ni);
- if (vap->iv_caps & IEEE80211_C_RATECTL)
- ieee80211_ratectl_node_init(ni);
+ ieee80211_ratectl_node_init(ni);
return ieee80211_sta_join1(ieee80211_ref_node(ni));
}
Index: sys/net80211/ieee80211_sta.c
===================================================================
--- sys/net80211/ieee80211_sta.c (revision 211524)
+++ sys/net80211/ieee80211_sta.c (working copy)
@@ -1597,8 +1597,7 @@ sta_recv_mgmt(struct ieee80211_node *ni, struct mb
IEEE80211_F_JOIN | IEEE80211_F_DOBRS);
ieee80211_setup_basic_htrates(ni, htinfo);
ieee80211_node_setuptxparms(ni);
- if (vap->iv_caps & IEEE80211_C_RATECTL)
- ieee80211_ratectl_node_init(ni);
+ ieee80211_ratectl_node_init(ni);
} else {
#ifdef IEEE80211_SUPPORT_SUPERG
if (IEEE80211_ATH_CAP(vap, ni, IEEE80211_NODE_ATH))
Index: sys/net80211/ieee80211_ratectl.h
===================================================================
--- sys/net80211/ieee80211_ratectl.h (revision 211524)
+++ sys/net80211/ieee80211_ratectl.h (working copy)
@@ -77,7 +77,8 @@ ieee80211_ratectl_node_init(struct ieee80211_node
{
const struct ieee80211vap *vap = ni->ni_vap;
- vap->iv_rate->ir_node_init(ni);
+ if (vap->iv_caps & IEEE80211_C_RATECTL)
+ vap->iv_rate->ir_node_init(ni);
}
static void __inline
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTi=Y1BmGNUvj421XSRvuK8bnjG%2BzfeYmKQG6p-o5>
