Skip site navigation (1)Skip section navigation (2)
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>