Linux wireless drivers development
 help / color / mirror / Atom feed
* Re: ath9k: BUG kmalloc-8192: Poison overwritten
From: Justin P. Mattock @ 2010-05-14  1:13 UTC (permalink / raw)
  To: Bruno Randolf
  Cc: Luis R. Rodriguez, linux-wireless, Linux Kernel Mailing List
In-Reply-To: <201005141008.20667.br1@einfach.org>

On 05/13/10 18:08, Bruno Randolf wrote:
> On Friday 14 May 2010 09:50:51 Justin P. Mattock wrote:
>> On 05/13/10 17:28, Luis R. Rodriguez wrote:
>>> On Thu, May 13, 2010 at 5:21 PM, Justin P. Mattock
>>>
>>> <justinmattock@gmail.com>   wrote:
>>>> On 05/13/10 16:01, Luis R. Rodriguez wrote:
>>>>> On Thu, May 13, 2010 at 3:17 PM, Justin P. Mattock
>>>>>
>>>>> <justinmattock@gmail.com>     wrote:
>>>>>> not sure what this is, but while at a convention
>>>>>> I was trying to access the internet and(below is
>>>>>> full dmesg) this showed up.
>>>>>>
>>>>>> After receiving this, I sat and tried to re-create
>>>>>> my steps to reproduce but had no luck(was even going
>>>>>> todo a bisect n the spot if I could re-create).
>>>>>
>>>>> OK this stuff is hard to reproduce it seems.. you have an Atheros
>>>>> AR5418 MAC/BB Rev:2 AR5133 RF Rev:81, what kconfig option do you use
>>>>> to get the poison stuff? I am just surprised we haven't seen it
>>>>> ourselves yet. Let me make sure all of us get this kconfig option
>>>>> enabled.
>>>>>
>>>>>     Luis
>>>>
>>>> CONFIG_ATH_COMMON=m
>>>> # CONFIG_ATH_DEBUG is not set
>>>> CONFIG_ATH5K=m
>>>> # CONFIG_ATH5K_DEBUG is not set
>>>> CONFIG_ATH9K_HW=m
>>>> CONFIG_ATH9K_COMMON=m
>>>> CONFIG_ATH9K=m
>>>> # CONFIG_ATH9K_DEBUGFS is not set
>>>>
>>>> if you need my .config let me know.
>>>> (I can try again reproducing, but man
>>>> just doesn't easily fire off).
>>>
>>> Oh I mean the config options to enable the poison rant.
>>>
>>>     Luis
>>
>> shoot.. not sure how to grep for the right info
>> in the .config for you, heres what grepping for COFIG_DEBUG
>> looks like:
>> CONFIG_DEBUG_FS=y
>> CONFIG_DEBUG_KERNEL=y
>> CONFIG_DEBUG_RT_MUTEXES=y
>> CONFIG_DEBUG_PI_LIST=y
>> CONFIG_DEBUG_SPINLOCK=y
>> CONFIG_DEBUG_MUTEXES=y
>> CONFIG_DEBUG_BUGVERBOSE=y
>> CONFIG_DEBUG_MEMORY_INIT=y
>> CONFIG_DEBUG_STACKOVERFLOW=y
>
> oh, this reminds me of a similar report we had for ath5k:
>
> https://bugzilla.kernel.org/show_bug.cgi?id=15861
>
> the subject on this mailing list was "ath5k misbehaving affecting other kernel
> parts unrelated?"
>
> bruno
>

Could be.. From what I remember
all I was doing was switching from
one wireless network to another
(then opening firefox to sign my life away).

eventually giving up, realizing I needed 99
big ones to be back on the grid.
(beauty of git though is I don't need
to be online to work).

Justin P. Mattock

^ permalink raw reply

* Re: [PATCH] compat-wireless: fix 07-change-default-rate-alg.patch
From: Bruno Randolf @ 2010-05-14  1:19 UTC (permalink / raw)
  To: Hauke Mehrtens; +Cc: lrodriguez, linux-wireless
In-Reply-To: <4BEBE70E.60500@hauke-m.de>

On Thursday 13 May 2010 20:48:30 Hauke Mehrtens wrote:
> Am 13.05.2010 03:17, schrieb Bruno Randolf:
> > i need this change to make it apply again
> > 
> > Signed-off-by: Bruno Randolf <br1@einfach.org>
> > ---
> > 
> >  patches/07-change-default-rate-alg.patch |   10 +++++-----
> >  1 files changed, 5 insertions(+), 5 deletions(-)
> > 
> > diff --git a/patches/07-change-default-rate-alg.patch
> > b/patches/07-change-default-rate-alg.patch index f0ccbce..f73a4c5 100644
> > --- a/patches/07-change-default-rate-alg.patch
> > +++ b/patches/07-change-default-rate-alg.patch
> > @@ -10,9 +10,9 @@ and define CONFIG_COMPAT_MAC80211_RC_DEFAULT on
> > config.mk.
> > 
> >  Through the compat autoconf we then get it also defined there
> >  at compilation time.
> > 
> > ---- a/net/mac80211/rate.c
> > -+++ b/net/mac80211/rate.c
> > -@@ -23,7 +23,7 @@ struct rate_control_alg {
> > +--- a/net/mac80211/rate.c	2010-05-12 16:27:02.245747971 +0900
> > ++++ b/net/mac80211/rate.c	2010-05-12 17:00:45.855748158 +0900
> > +@@ -23,7 +23,7 @@
> > 
> >   static LIST_HEAD(rate_ctrl_algs);
> >   static DEFINE_MUTEX(rate_ctrl_mutex);
> > 
> > @@ -21,7 +21,7 @@ at compilation time.
> > 
> >   module_param(ieee80211_default_rc_algo, charp, 0644);
> >   MODULE_PARM_DESC(ieee80211_default_rc_algo,
> >   
> >   		 "Default rate control algorithm for mac80211 to use");
> > 
> > -@@ -119,8 +119,8 @@ ieee80211_rate_control_ops_get(const cha
> > +@@ -118,8 +118,8 @@
> > 
> >   		ops = 
ieee80211_try_rate_control_ops_get(ieee80211_default_rc_algo);
> >   	
> >   	/* try built-in one if specific alg requested but not found */
> > 
> > @@ -29,6 +29,6 @@ at compilation time.
> > 
> >  -		ops = 
ieee80211_try_rate_control_ops_get(CONFIG_MAC80211_RC_DEFAULT);
> >  +	if (!ops && strlen(CONFIG_COMPAT_MAC80211_RC_DEFAULT))
> >  +		ops =
> >  ieee80211_try_rate_control_ops_get(CONFIG_COMPAT_MAC80211_RC_DEFAULT);
> > 
> > - 	kparam_unblock_sysfs_write(ieee80211_default_rc_algo);
> > 
> >   	return ops;
> > 
> > + }
> 
> Hi Bruno,
> 
> For me it does not apply any more against linux-next with your patch,
> without your patch it still applies.
> 
> In the linux-next tree there is this line
> kparam_unblock_sysfs_write(ieee80211_default_rc_algo);
> it was introduced 2 days ago. In wireless-text this does not exist for now.
> 
> Could it be that you tried to generate compat-wireless out of
> wireless-testing and not linux-next?
> 
> Please run "./scripts/admin-refresh.sh refresh" after changing a patch
> to format it automatically in a common way.

yes, i used wireless-testing - sorry!

is compat-wireless meant to be used only with linux-next?

bruno

^ permalink raw reply

* Re: ath9k: BUG kmalloc-8192: Poison overwritten
From: Luis R. Rodriguez @ 2010-05-14  1:23 UTC (permalink / raw)
  To: Justin P. Mattock
  Cc: Bruno Randolf, Luis Rodriguez, linux-wireless@vger.kernel.org,
	Linux Kernel Mailing List
In-Reply-To: <4BECA3AE.4070607@gmail.com>

On Thu, May 13, 2010 at 06:13:18PM -0700, Justin P. Mattock wrote:
> On 05/13/10 18:08, Bruno Randolf wrote:
> > On Friday 14 May 2010 09:50:51 Justin P. Mattock wrote:
> >> On 05/13/10 17:28, Luis R. Rodriguez wrote:
> >>> On Thu, May 13, 2010 at 5:21 PM, Justin P. Mattock
> >>>
> >>> <justinmattock@gmail.com>   wrote:
> >>>> On 05/13/10 16:01, Luis R. Rodriguez wrote:
> >>>>> On Thu, May 13, 2010 at 3:17 PM, Justin P. Mattock
> >>>>>
> >>>>> <justinmattock@gmail.com>     wrote:
> >>>>>> not sure what this is, but while at a convention
> >>>>>> I was trying to access the internet and(below is
> >>>>>> full dmesg) this showed up.
> >>>>>>
> >>>>>> After receiving this, I sat and tried to re-create
> >>>>>> my steps to reproduce but had no luck(was even going
> >>>>>> todo a bisect n the spot if I could re-create).
> >>>>>
> >>>>> OK this stuff is hard to reproduce it seems.. you have an Atheros
> >>>>> AR5418 MAC/BB Rev:2 AR5133 RF Rev:81, what kconfig option do you use
> >>>>> to get the poison stuff? I am just surprised we haven't seen it
> >>>>> ourselves yet. Let me make sure all of us get this kconfig option
> >>>>> enabled.
> >>>>>
> >>>>>     Luis
> >>>>
> >>>> CONFIG_ATH_COMMON=m
> >>>> # CONFIG_ATH_DEBUG is not set
> >>>> CONFIG_ATH5K=m
> >>>> # CONFIG_ATH5K_DEBUG is not set
> >>>> CONFIG_ATH9K_HW=m
> >>>> CONFIG_ATH9K_COMMON=m
> >>>> CONFIG_ATH9K=m
> >>>> # CONFIG_ATH9K_DEBUGFS is not set
> >>>>
> >>>> if you need my .config let me know.
> >>>> (I can try again reproducing, but man
> >>>> just doesn't easily fire off).
> >>>
> >>> Oh I mean the config options to enable the poison rant.
> >>>
> >>>     Luis
> >>
> >> shoot.. not sure how to grep for the right info
> >> in the .config for you, heres what grepping for COFIG_DEBUG
> >> looks like:
> >> CONFIG_DEBUG_FS=y
> >> CONFIG_DEBUG_KERNEL=y
> >> CONFIG_DEBUG_RT_MUTEXES=y
> >> CONFIG_DEBUG_PI_LIST=y
> >> CONFIG_DEBUG_SPINLOCK=y
> >> CONFIG_DEBUG_MUTEXES=y
> >> CONFIG_DEBUG_BUGVERBOSE=y
> >> CONFIG_DEBUG_MEMORY_INIT=y
> >> CONFIG_DEBUG_STACKOVERFLOW=y
> >
> > oh, this reminds me of a similar report we had for ath5k:
> >
> > https://bugzilla.kernel.org/show_bug.cgi?id=15861
> >
> > the subject on this mailing list was "ath5k misbehaving affecting other kernel
> > parts unrelated?"
> >
> > bruno
> >
> 
> Could be.. From what I remember
> all I was doing was switching from
> one wireless network to another
> (then opening firefox to sign my life away).

Were you using network-manager? Or the supplicant manually?

  Luis

^ permalink raw reply

* Re: [PATCH] compat-wireless: fix 07-change-default-rate-alg.patch
From: Luis R. Rodriguez @ 2010-05-14  1:23 UTC (permalink / raw)
  To: Bruno Randolf
  Cc: Hauke Mehrtens, Luis Rodriguez, linux-wireless@vger.kernel.org
In-Reply-To: <201005141019.38464.br1@einfach.org>

On Thu, May 13, 2010 at 06:19:38PM -0700, Bruno Randolf wrote:
> On Thursday 13 May 2010 20:48:30 Hauke Mehrtens wrote:
> > Am 13.05.2010 03:17, schrieb Bruno Randolf:
> > > i need this change to make it apply again
> > > 
> > > Signed-off-by: Bruno Randolf <br1@einfach.org>
> > > ---
> > > 
> > >  patches/07-change-default-rate-alg.patch |   10 +++++-----
> > >  1 files changed, 5 insertions(+), 5 deletions(-)
> > > 
> > > diff --git a/patches/07-change-default-rate-alg.patch
> > > b/patches/07-change-default-rate-alg.patch index f0ccbce..f73a4c5 100644
> > > --- a/patches/07-change-default-rate-alg.patch
> > > +++ b/patches/07-change-default-rate-alg.patch
> > > @@ -10,9 +10,9 @@ and define CONFIG_COMPAT_MAC80211_RC_DEFAULT on
> > > config.mk.
> > > 
> > >  Through the compat autoconf we then get it also defined there
> > >  at compilation time.
> > > 
> > > ---- a/net/mac80211/rate.c
> > > -+++ b/net/mac80211/rate.c
> > > -@@ -23,7 +23,7 @@ struct rate_control_alg {
> > > +--- a/net/mac80211/rate.c	2010-05-12 16:27:02.245747971 +0900
> > > ++++ b/net/mac80211/rate.c	2010-05-12 17:00:45.855748158 +0900
> > > +@@ -23,7 +23,7 @@
> > > 
> > >   static LIST_HEAD(rate_ctrl_algs);
> > >   static DEFINE_MUTEX(rate_ctrl_mutex);
> > > 
> > > @@ -21,7 +21,7 @@ at compilation time.
> > > 
> > >   module_param(ieee80211_default_rc_algo, charp, 0644);
> > >   MODULE_PARM_DESC(ieee80211_default_rc_algo,
> > >   
> > >   		 "Default rate control algorithm for mac80211 to use");
> > > 
> > > -@@ -119,8 +119,8 @@ ieee80211_rate_control_ops_get(const cha
> > > +@@ -118,8 +118,8 @@
> > > 
> > >   		ops = 
> ieee80211_try_rate_control_ops_get(ieee80211_default_rc_algo);
> > >   	
> > >   	/* try built-in one if specific alg requested but not found */
> > > 
> > > @@ -29,6 +29,6 @@ at compilation time.
> > > 
> > >  -		ops = 
> ieee80211_try_rate_control_ops_get(CONFIG_MAC80211_RC_DEFAULT);
> > >  +	if (!ops && strlen(CONFIG_COMPAT_MAC80211_RC_DEFAULT))
> > >  +		ops =
> > >  ieee80211_try_rate_control_ops_get(CONFIG_COMPAT_MAC80211_RC_DEFAULT);
> > > 
> > > - 	kparam_unblock_sysfs_write(ieee80211_default_rc_algo);
> > > 
> > >   	return ops;
> > > 
> > > + }
> > 
> > Hi Bruno,
> > 
> > For me it does not apply any more against linux-next with your patch,
> > without your patch it still applies.
> > 
> > In the linux-next tree there is this line
> > kparam_unblock_sysfs_write(ieee80211_default_rc_algo);
> > it was introduced 2 days ago. In wireless-text this does not exist for now.
> > 
> > Could it be that you tried to generate compat-wireless out of
> > wireless-testing and not linux-next?
> > 
> > Please run "./scripts/admin-refresh.sh refresh" after changing a patch
> > to format it automatically in a common way.
> 
> yes, i used wireless-testing - sorry!
> 
> is compat-wireless meant to be used only with linux-next?

Yeap

  Luis

^ permalink raw reply

* Re: ath9k: BUG kmalloc-8192: Poison overwritten
From: Justin P. Mattock @ 2010-05-14  1:26 UTC (permalink / raw)
  To: Luis R. Rodriguez
  Cc: Bruno Randolf, Luis Rodriguez, linux-wireless@vger.kernel.org,
	Linux Kernel Mailing List
In-Reply-To: <20100514012314.GA2170@tux>

On 05/13/10 18:23, Luis R. Rodriguez wrote:
> On Thu, May 13, 2010 at 06:13:18PM -0700, Justin P. Mattock wrote:
>> On 05/13/10 18:08, Bruno Randolf wrote:
>>> On Friday 14 May 2010 09:50:51 Justin P. Mattock wrote:
>>>> On 05/13/10 17:28, Luis R. Rodriguez wrote:
>>>>> On Thu, May 13, 2010 at 5:21 PM, Justin P. Mattock
>>>>>
>>>>> <justinmattock@gmail.com>    wrote:
>>>>>> On 05/13/10 16:01, Luis R. Rodriguez wrote:
>>>>>>> On Thu, May 13, 2010 at 3:17 PM, Justin P. Mattock
>>>>>>>
>>>>>>> <justinmattock@gmail.com>      wrote:
>>>>>>>> not sure what this is, but while at a convention
>>>>>>>> I was trying to access the internet and(below is
>>>>>>>> full dmesg) this showed up.
>>>>>>>>
>>>>>>>> After receiving this, I sat and tried to re-create
>>>>>>>> my steps to reproduce but had no luck(was even going
>>>>>>>> todo a bisect n the spot if I could re-create).
>>>>>>>
>>>>>>> OK this stuff is hard to reproduce it seems.. you have an Atheros
>>>>>>> AR5418 MAC/BB Rev:2 AR5133 RF Rev:81, what kconfig option do you use
>>>>>>> to get the poison stuff? I am just surprised we haven't seen it
>>>>>>> ourselves yet. Let me make sure all of us get this kconfig option
>>>>>>> enabled.
>>>>>>>
>>>>>>>      Luis
>>>>>>
>>>>>> CONFIG_ATH_COMMON=m
>>>>>> # CONFIG_ATH_DEBUG is not set
>>>>>> CONFIG_ATH5K=m
>>>>>> # CONFIG_ATH5K_DEBUG is not set
>>>>>> CONFIG_ATH9K_HW=m
>>>>>> CONFIG_ATH9K_COMMON=m
>>>>>> CONFIG_ATH9K=m
>>>>>> # CONFIG_ATH9K_DEBUGFS is not set
>>>>>>
>>>>>> if you need my .config let me know.
>>>>>> (I can try again reproducing, but man
>>>>>> just doesn't easily fire off).
>>>>>
>>>>> Oh I mean the config options to enable the poison rant.
>>>>>
>>>>>      Luis
>>>>
>>>> shoot.. not sure how to grep for the right info
>>>> in the .config for you, heres what grepping for COFIG_DEBUG
>>>> looks like:
>>>> CONFIG_DEBUG_FS=y
>>>> CONFIG_DEBUG_KERNEL=y
>>>> CONFIG_DEBUG_RT_MUTEXES=y
>>>> CONFIG_DEBUG_PI_LIST=y
>>>> CONFIG_DEBUG_SPINLOCK=y
>>>> CONFIG_DEBUG_MUTEXES=y
>>>> CONFIG_DEBUG_BUGVERBOSE=y
>>>> CONFIG_DEBUG_MEMORY_INIT=y
>>>> CONFIG_DEBUG_STACKOVERFLOW=y
>>>
>>> oh, this reminds me of a similar report we had for ath5k:
>>>
>>> https://bugzilla.kernel.org/show_bug.cgi?id=15861
>>>
>>> the subject on this mailing list was "ath5k misbehaving affecting other kernel
>>> parts unrelated?"
>>>
>>> bruno
>>>
>>
>> Could be.. From what I remember
>> all I was doing was switching from
>> one wireless network to another
>> (then opening firefox to sign my life away).
>
> Were you using network-manager? Or the supplicant manually?
>
>    Luis
>

I've got wicd(1.5.9) manager
running over here.

Justin P. Mattock

^ permalink raw reply

* [PATCH] ath9k: Enable Short GI in 20 Mhz for ar9287 and later chips
From: Vasanthakumar Thiagarajan @ 2010-05-14  1:42 UTC (permalink / raw)
  To: linville; +Cc: linux-wireless

This patch enables short GI rx at all rates and tx at mcs15
for 20 Mhz channel width also.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
---
 drivers/net/wireless/ath/ath9k/hw.c   |    3 +
 drivers/net/wireless/ath/ath9k/hw.h   |    1 +
 drivers/net/wireless/ath/ath9k/init.c |    3 +
 drivers/net/wireless/ath/ath9k/rc.c   |  173 ++++++++++++++++++---------------
 4 files changed, 101 insertions(+), 79 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index c33f17d..1985d19 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2232,6 +2232,9 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
 	if (AR_SREV_9300_20_OR_LATER(ah))
 		pCap->hw_caps |= ATH9K_HW_CAP_RAC_SUPPORTED;
 
+	if (AR_SREV_9287_10_OR_LATER(ah))
+		pCap->hw_caps |= ATH9K_HW_CAP_SGI_20;
+
 	return 0;
 }
 
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index 77245df..a95e88d 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -199,6 +199,7 @@ enum ath9k_hw_caps {
 	ATH9K_HW_CAP_RAC_SUPPORTED		= BIT(18),
 	ATH9K_HW_CAP_LDPC			= BIT(19),
 	ATH9K_HW_CAP_FASTCLOCK			= BIT(20),
+	ATH9K_HW_CAP_SGI_20			= BIT(21),
 };
 
 enum ath9k_capability_type {
diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index 8c79548..90b5c90 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -208,6 +208,9 @@ static void setup_ht_cap(struct ath_softc *sc,
 	if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_LDPC)
 		ht_info->cap |= IEEE80211_HT_CAP_LDPC_CODING;
 
+	if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_SGI_20)
+		ht_info->cap |= IEEE80211_HT_CAP_SGI_20;
+
 	ht_info->ampdu_factor = IEEE80211_HT_MAX_AMPDU_64K;
 	ht_info->ampdu_density = IEEE80211_HT_MPDU_DENSITY_8;
 
diff --git a/drivers/net/wireless/ath/ath9k/rc.c b/drivers/net/wireless/ath/ath9k/rc.c
index 8519452..f5180d3 100644
--- a/drivers/net/wireless/ath/ath9k/rc.c
+++ b/drivers/net/wireless/ath/ath9k/rc.c
@@ -40,73 +40,75 @@ static const struct ath_rate_table ar5416_11na_ratetable = {
 		{ VALID, VALID, WLAN_RC_PHY_OFDM, 54000, /* 54 Mb */
 			29300, 7, 108, 4, 7, 7, 7, 7 },
 		{ VALID_2040, VALID_2040, WLAN_RC_PHY_HT_20_SS, 6500, /* 6.5 Mb */
-			6400, 0, 0, 0, 8, 24, 8, 24 },
+			6400, 0, 0, 0, 8, 25, 8, 25 },
 		{ VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 13000, /* 13 Mb */
-			12700, 1, 1, 2, 9, 25, 9, 25 },
+			12700, 1, 1, 2, 9, 26, 9, 26 },
 		{ VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 19500, /* 19.5 Mb */
-			18800, 2, 2, 2, 10, 26, 10, 26 },
+			18800, 2, 2, 2, 10, 27, 10, 27 },
 		{ VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 26000, /* 26 Mb */
-			25000, 3, 3, 4, 11, 27, 11, 27 },
+			25000, 3, 3, 4, 11, 28, 11, 28 },
 		{ VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 39000, /* 39 Mb */
-			36700, 4, 4, 4, 12, 28, 12, 28 },
+			36700, 4, 4, 4, 12, 29, 12, 29 },
 		{ INVALID, VALID_20, WLAN_RC_PHY_HT_20_SS, 52000, /* 52 Mb */
-			48100, 5, 5, 4, 13, 29, 13, 29 },
+			48100, 5, 5, 4, 13, 30, 13, 30 },
 		{ INVALID, VALID_20, WLAN_RC_PHY_HT_20_SS, 58500, /* 58.5 Mb */
-			53500, 6, 6, 4, 14, 30, 14, 30 },
+			53500, 6, 6, 4, 14, 31, 14, 31 },
 		{ INVALID, VALID_20, WLAN_RC_PHY_HT_20_SS, 65000, /* 65 Mb */
-			59000, 7, 7, 4, 15, 31, 15, 32 },
+			59000, 7, 7, 4, 15, 32, 15, 33 },
 		{ INVALID, INVALID, WLAN_RC_PHY_HT_20_DS, 13000, /* 13 Mb */
-			12700, 8, 8, 3, 16, 33, 16, 33 },
+			12700, 8, 8, 3, 16, 34, 16, 34 },
 		{ INVALID, INVALID, WLAN_RC_PHY_HT_20_DS, 26000, /* 26 Mb */
-			24800, 9, 9, 2, 17, 34, 17, 34 },
+			24800, 9, 9, 2, 17, 35, 17, 35 },
 		{ INVALID, INVALID, WLAN_RC_PHY_HT_20_DS, 39000, /* 39 Mb */
-			36600, 10, 10, 2, 18, 35, 18, 35 },
+			36600, 10, 10, 2, 18, 36, 18, 36 },
 		{ VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 52000, /* 52 Mb */
-			48100, 11, 11, 4, 19, 36, 19, 36 },
+			48100, 11, 11, 4, 19, 37, 19, 37 },
 		{ VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 78000, /* 78 Mb */
-			69500, 12, 12, 4, 20, 37, 20, 37 },
+			69500, 12, 12, 4, 20, 38, 20, 38 },
 		{ VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 104000, /* 104 Mb */
-			89500, 13, 13, 4, 21, 38, 21, 38 },
+			89500, 13, 13, 4, 21, 39, 21, 39 },
 		{ VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 117000, /* 117 Mb */
-			98900, 14, 14, 4, 22, 39, 22, 39 },
+			98900, 14, 14, 4, 22, 40, 22, 40 },
 		{ VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 130000, /* 130 Mb */
-			108300, 15, 15, 4, 23, 40, 23, 41 },
+			108300, 15, 15, 4, 23, 41, 24, 42 },
+		{ VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS_HGI, 144400, /* 144.4 Mb */
+			12000, 15, 15, 4, 23, 41, 24, 42 },
 		{ VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 13500, /* 13.5 Mb */
-			13200, 0, 0, 0, 8, 24, 24, 24 },
+			13200, 0, 0, 0, 8, 25, 25, 25 },
 		{ VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 27500, /* 27.0 Mb */
-			25900, 1, 1, 2, 9, 25, 25, 25 },
+			25900, 1, 1, 2, 9, 26, 26, 26 },
 		{ VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 40500, /* 40.5 Mb */
-			38600, 2, 2, 2, 10, 26, 26, 26 },
+			38600, 2, 2, 2, 10, 27, 27, 27 },
 		{ VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 54000, /* 54 Mb */
-			49800, 3, 3, 4, 11, 27, 27, 27 },
+			49800, 3, 3, 4, 11, 28, 28, 28 },
 		{ VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 81500, /* 81 Mb */
-			72200, 4, 4, 4, 12, 28, 28, 28 },
+			72200, 4, 4, 4, 12, 29, 29, 29 },
 		{ INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS, 108000, /* 108 Mb */
-			92900, 5, 5, 4, 13, 29, 29, 29 },
+			92900, 5, 5, 4, 13, 30, 30, 30 },
 		{ INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS, 121500, /* 121.5 Mb */
-			102700, 6, 6, 4, 14, 30, 30, 30 },
+			102700, 6, 6, 4, 14, 31, 31, 31 },
 		{ INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS, 135000, /* 135 Mb */
-			112000, 7, 7, 4, 15, 31, 32, 32 },
+			112000, 7, 7, 4, 15, 32, 33, 33 },
 		{ INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS_HGI, 150000, /* 150 Mb */
-			122000, 7, 7, 4, 15, 31, 32, 32 },
+			122000, 7, 7, 4, 15, 32, 33, 33 },
 		{ INVALID, INVALID, WLAN_RC_PHY_HT_40_DS, 27000, /* 27 Mb */
-			25800, 8, 8, 0, 16, 33, 33, 33 },
+			25800, 8, 8, 0, 16, 34, 34, 34 },
 		{ INVALID, INVALID, WLAN_RC_PHY_HT_40_DS, 54000, /* 54 Mb */
-			49800, 9, 9, 2, 17, 34, 34, 34 },
+			49800, 9, 9, 2, 17, 35, 35, 35 },
 		{ INVALID, INVALID, WLAN_RC_PHY_HT_40_DS, 81000, /* 81 Mb */
-			71900, 10, 10, 2, 18, 35, 35, 35 },
+			71900, 10, 10, 2, 18, 36, 36, 36 },
 		{ VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 108000, /* 108 Mb */
-			92500, 11, 11, 4, 19, 36, 36, 36 },
+			92500, 11, 11, 4, 19, 37, 37, 37 },
 		{ VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 162000, /* 162 Mb */
-			130300, 12, 12, 4, 20, 37, 37, 37 },
+			130300, 12, 12, 4, 20, 38, 38, 38 },
 		{ VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 216000, /* 216 Mb */
-			162800, 13, 13, 4, 21, 38, 38, 38 },
+			162800, 13, 13, 4, 21, 39, 39, 39 },
 		{ VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 243000, /* 243 Mb */
-			178200, 14, 14, 4, 22, 39, 39, 39 },
+			178200, 14, 14, 4, 22, 40, 40, 40 },
 		{ VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 270000, /* 270 Mb */
-			192100, 15, 15, 4, 23, 40, 41, 41 },
+			192100, 15, 15, 4, 23, 41, 42, 42 },
 		{ VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS_HGI, 300000, /* 300 Mb */
-			207000, 15, 15, 4, 23, 40, 41, 41 },
+			207000, 15, 15, 4, 23, 41, 42, 42 },
 	},
 	50,  /* probe interval */
 	WLAN_RC_HT_FLAG,  /* Phy rates allowed initially */
@@ -144,73 +146,75 @@ static const struct ath_rate_table ar5416_11ng_ratetable = {
 		{ VALID, VALID, WLAN_RC_PHY_OFDM, 54000, /* 54 Mb */
 			30900, 11, 108, 8, 11, 11, 11, 11 },
 		{ INVALID, INVALID, WLAN_RC_PHY_HT_20_SS, 6500, /* 6.5 Mb */
-			6400, 0, 0, 4, 12, 28, 12, 28 },
+			6400, 0, 0, 4, 12, 29, 12, 29 },
 		{ VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 13000, /* 13 Mb */
-			12700, 1, 1, 6, 13, 29, 13, 29 },
+			12700, 1, 1, 6, 13, 30, 13, 30 },
 		{ VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 19500, /* 19.5 Mb */
-			18800, 2, 2, 6, 14, 30, 14, 30 },
+			18800, 2, 2, 6, 14, 31, 14, 31 },
 		{ VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 26000, /* 26 Mb */
-			25000, 3, 3, 8, 15, 31, 15, 31 },
+			25000, 3, 3, 8, 15, 32, 15, 32 },
 		{ VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 39000, /* 39 Mb */
-			36700, 4, 4, 8, 16, 32, 16, 32 },
+			36700, 4, 4, 8, 16, 33, 16, 33 },
 		{ INVALID, VALID_20, WLAN_RC_PHY_HT_20_SS, 52000, /* 52 Mb */
-			48100, 5, 5, 8, 17, 33, 17, 33 },
+			48100, 5, 5, 8, 17, 34, 17, 34 },
 		{ INVALID,  VALID_20, WLAN_RC_PHY_HT_20_SS, 58500, /* 58.5 Mb */
-			53500, 6, 6, 8, 18, 34, 18, 34 },
+			53500, 6, 6, 8, 18, 35, 18, 35 },
 		{ INVALID, VALID_20, WLAN_RC_PHY_HT_20_SS, 65000, /* 65 Mb */
-			59000, 7, 7, 8, 19, 35, 19, 36 },
+			59000, 7, 7, 8, 19, 36, 19, 37 },
 		{ INVALID, INVALID, WLAN_RC_PHY_HT_20_DS, 13000, /* 13 Mb */
-			12700, 8, 8, 4, 20, 37, 20, 37 },
+			12700, 8, 8, 4, 20, 38, 20, 38 },
 		{ INVALID, INVALID, WLAN_RC_PHY_HT_20_DS, 26000, /* 26 Mb */
-			24800, 9, 9, 6, 21, 38, 21, 38 },
+			24800, 9, 9, 6, 21, 39, 21, 39 },
 		{ INVALID, INVALID, WLAN_RC_PHY_HT_20_DS, 39000, /* 39 Mb */
-			36600, 10, 10, 6, 22, 39, 22, 39 },
+			36600, 10, 10, 6, 22, 40, 22, 40 },
 		{ VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 52000, /* 52 Mb */
-			48100, 11, 11, 8, 23, 40, 23, 40 },
+			48100, 11, 11, 8, 23, 41, 23, 41 },
 		{ VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 78000, /* 78 Mb */
-			69500, 12, 12, 8, 24, 41, 24, 41 },
+			69500, 12, 12, 8, 24, 42, 24, 42 },
 		{ VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 104000, /* 104 Mb */
-			89500, 13, 13, 8, 25, 42, 25, 42 },
+			89500, 13, 13, 8, 25, 43, 25, 43 },
 		{ VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 117000, /* 117 Mb */
-			98900, 14, 14, 8, 26, 43, 26, 44 },
+			98900, 14, 14, 8, 26, 44, 26, 44 },
 		{ VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 130000, /* 130 Mb */
-			108300, 15, 15, 8, 27, 44, 27, 45 },
+			108300, 15, 15, 8, 27, 45, 28, 46 },
+		{ VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS_HGI, 144400, /* 130 Mb */
+			120000, 15, 15, 8, 27, 45, 28, 46 },
 		{ VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 13500, /* 13.5 Mb */
-			13200, 0, 0, 8, 12, 28, 28, 28 },
+			13200, 0, 0, 8, 12, 29, 29, 29 },
 		{ VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 27500, /* 27.0 Mb */
-			25900, 1, 1, 8, 13, 29, 29, 29 },
+			25900, 1, 1, 8, 13, 30, 30, 30 },
 		{ VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 40500, /* 40.5 Mb */
-			38600, 2, 2, 8, 14, 30, 30, 30 },
+			38600, 2, 2, 8, 14, 31, 31, 31 },
 		{ VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 54000, /* 54 Mb */
-			49800, 3, 3, 8,  15, 31, 31, 31 },
+			49800, 3, 3, 8,  15, 32, 32, 32 },
 		{ VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 81500, /* 81 Mb */
-			72200, 4, 4, 8, 16, 32, 32, 32 },
+			72200, 4, 4, 8, 16, 33, 33, 33 },
 		{ INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS, 108000, /* 108 Mb */
-			92900, 5, 5, 8, 17, 33, 33, 33 },
+			92900, 5, 5, 8, 17, 34, 34, 34 },
 		{ INVALID,  VALID_40, WLAN_RC_PHY_HT_40_SS, 121500, /* 121.5 Mb */
-			102700, 6, 6, 8, 18, 34, 34, 34 },
+			102700, 6, 6, 8, 18, 35, 35, 35 },
 		{ INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS, 135000, /* 135 Mb */
-			112000, 7, 7, 8, 19, 35, 36, 36 },
+			112000, 7, 7, 8, 19, 36, 37, 37 },
 		{ INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS_HGI, 150000, /* 150 Mb */
-			122000, 7, 7, 8, 19, 35, 36, 36 },
+			122000, 7, 7, 8, 19, 36, 37, 37 },
 		{ INVALID, INVALID, WLAN_RC_PHY_HT_40_DS, 27000, /* 27 Mb */
-			25800, 8, 8, 8, 20, 37, 37, 37 },
+			25800, 8, 8, 8, 20, 38, 38, 38 },
 		{ INVALID, INVALID, WLAN_RC_PHY_HT_40_DS, 54000, /* 54 Mb */
-			49800, 9, 9, 8, 21, 38, 38, 38 },
+			49800, 9, 9, 8, 21, 39, 39, 39 },
 		{ INVALID, INVALID, WLAN_RC_PHY_HT_40_DS, 81000, /* 81 Mb */
-			71900, 10, 10, 8, 22, 39, 39, 39 },
+			71900, 10, 10, 8, 22, 40, 40, 40 },
 		{ VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 108000, /* 108 Mb */
-			92500, 11, 11, 8, 23, 40, 40, 40 },
+			92500, 11, 11, 8, 23, 41, 41, 41 },
 		{ VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 162000, /* 162 Mb */
-			130300, 12, 12, 8, 24, 41, 41, 41 },
+			130300, 12, 12, 8, 24, 42, 42, 42 },
 		{ VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 216000, /* 216 Mb */
-			162800, 13, 13, 8, 25, 42, 42, 42 },
+			162800, 13, 13, 8, 25, 43, 43, 43 },
 		{ VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 243000, /* 243 Mb */
-			178200, 14, 14, 8, 26, 43, 43, 43 },
+			178200, 14, 14, 8, 26, 44, 44, 44 },
 		{ VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 270000, /* 270 Mb */
-			192100, 15, 15, 8, 27, 44, 45, 45 },
+			192100, 15, 15, 8, 27, 45, 46, 46 },
 		{ VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS_HGI, 300000, /* 300 Mb */
-			207000, 15, 15, 8, 27, 44, 45, 45 },
+			207000, 15, 15, 8, 27, 45, 46, 46 },
 	},
 	50,  /* probe interval */
 	WLAN_RC_HT_FLAG,  /* Phy rates allowed initially */
@@ -1193,7 +1197,7 @@ static void ath_rc_init(struct ath_softc *sc,
 }
 
 static u8 ath_rc_build_ht_caps(struct ath_softc *sc, struct ieee80211_sta *sta,
-			       bool is_cw40, bool is_sgi40)
+			       bool is_cw40, bool is_sgi)
 {
 	u8 caps = 0;
 
@@ -1206,8 +1210,9 @@ static u8 ath_rc_build_ht_caps(struct ath_softc *sc, struct ieee80211_sta *sta,
 		}
 		if (is_cw40)
 			caps |= WLAN_RC_40_FLAG;
-		if (is_sgi40)
+		if (is_sgi)
 			caps |= WLAN_RC_SGI_FLAG;
+
 	}
 
 	return caps;
@@ -1300,7 +1305,7 @@ static void ath_rate_init(void *priv, struct ieee80211_supported_band *sband,
 	struct ath_softc *sc = priv;
 	struct ath_rate_priv *ath_rc_priv = priv_sta;
 	const struct ath_rate_table *rate_table;
-	bool is_cw40, is_sgi40;
+	bool is_cw40, is_sgi = false;
 	int i, j = 0;
 
 	for (i = 0; i < sband->n_bitrates; i++) {
@@ -1323,7 +1328,11 @@ static void ath_rate_init(void *priv, struct ieee80211_supported_band *sband,
 	}
 
 	is_cw40 = sta->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40;
-	is_sgi40 = sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_40;
+
+	if (is_cw40)
+		is_sgi = sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_40;
+	else if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_SGI_20)
+		is_sgi = sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_20;
 
 	/* Choose rate table first */
 
@@ -1336,7 +1345,7 @@ static void ath_rate_init(void *priv, struct ieee80211_supported_band *sband,
 		rate_table = hw_rate_table[sc->cur_rate_mode];
 	}
 
-	ath_rc_priv->ht_cap = ath_rc_build_ht_caps(sc, sta, is_cw40, is_sgi40);
+	ath_rc_priv->ht_cap = ath_rc_build_ht_caps(sc, sta, is_cw40, is_sgi);
 	ath_rc_init(sc, priv_sta, sband, sta, rate_table);
 }
 
@@ -1347,10 +1356,10 @@ static void ath_rate_update(void *priv, struct ieee80211_supported_band *sband,
 	struct ath_softc *sc = priv;
 	struct ath_rate_priv *ath_rc_priv = priv_sta;
 	const struct ath_rate_table *rate_table = NULL;
-	bool oper_cw40 = false, oper_sgi40;
+	bool oper_cw40 = false, oper_sgi;
 	bool local_cw40 = (ath_rc_priv->ht_cap & WLAN_RC_40_FLAG) ?
 		true : false;
-	bool local_sgi40 = (ath_rc_priv->ht_cap & WLAN_RC_SGI_FLAG) ?
+	bool local_sgi = (ath_rc_priv->ht_cap & WLAN_RC_SGI_FLAG) ?
 		true : false;
 
 	/* FIXME: Handle AP mode later when we support CWM */
@@ -1363,15 +1372,21 @@ static void ath_rate_update(void *priv, struct ieee80211_supported_band *sband,
 		    oper_chan_type == NL80211_CHAN_HT40PLUS)
 			oper_cw40 = true;
 
-		oper_sgi40 = (sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_40) ?
-			true : false;
+		if (oper_cw40)
+			oper_sgi = (sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_40) ?
+				   true : false;
+		else if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_SGI_20)
+			oper_sgi = (sta->ht_cap.cap & IEEE80211_HT_CAP_SGI_20) ?
+				   true : false;
+		else
+			oper_sgi = false;
 
-		if ((local_cw40 != oper_cw40) || (local_sgi40 != oper_sgi40)) {
+		if ((local_cw40 != oper_cw40) || (local_sgi != oper_sgi)) {
 			rate_table = ath_choose_rate_table(sc, sband->band,
 						   sta->ht_cap.ht_supported,
 						   oper_cw40);
 			ath_rc_priv->ht_cap = ath_rc_build_ht_caps(sc, sta,
-						   oper_cw40, oper_sgi40);
+						   oper_cw40, oper_sgi);
 			ath_rc_init(sc, priv_sta, sband, sta, rate_table);
 
 			ath_print(ath9k_hw_common(sc->sc_ah), ATH_DBG_CONFIG,
-- 
1.7.0.4


^ permalink raw reply related

* Re: ath9k: BUG kmalloc-8192: Poison overwritten
From: Luis R. Rodriguez @ 2010-05-14  1:43 UTC (permalink / raw)
  To: Justin P. Mattock
  Cc: Luis Rodriguez, Bruno Randolf, linux-wireless@vger.kernel.org,
	Linux Kernel Mailing List
In-Reply-To: <4BECA6AC.9060609@gmail.com>

On Thu, May 13, 2010 at 06:26:04PM -0700, Justin P. Mattock wrote:
> On 05/13/10 18:23, Luis R. Rodriguez wrote:
> > On Thu, May 13, 2010 at 06:13:18PM -0700, Justin P. Mattock wrote:
> >> On 05/13/10 18:08, Bruno Randolf wrote:
> >>> On Friday 14 May 2010 09:50:51 Justin P. Mattock wrote:
> >>>> On 05/13/10 17:28, Luis R. Rodriguez wrote:
> >>>>> On Thu, May 13, 2010 at 5:21 PM, Justin P. Mattock
> >>>>>
> >>>>> <justinmattock@gmail.com>    wrote:
> >>>>>> On 05/13/10 16:01, Luis R. Rodriguez wrote:
> >>>>>>> On Thu, May 13, 2010 at 3:17 PM, Justin P. Mattock
> >>>>>>>
> >>>>>>> <justinmattock@gmail.com>      wrote:
> >>>>>>>> not sure what this is, but while at a convention
> >>>>>>>> I was trying to access the internet and(below is
> >>>>>>>> full dmesg) this showed up.
> >>>>>>>>
> >>>>>>>> After receiving this, I sat and tried to re-create
> >>>>>>>> my steps to reproduce but had no luck(was even going
> >>>>>>>> todo a bisect n the spot if I could re-create).
> >>>>>>>
> >>>>>>> OK this stuff is hard to reproduce it seems.. you have an Atheros
> >>>>>>> AR5418 MAC/BB Rev:2 AR5133 RF Rev:81, what kconfig option do you use
> >>>>>>> to get the poison stuff? I am just surprised we haven't seen it
> >>>>>>> ourselves yet. Let me make sure all of us get this kconfig option
> >>>>>>> enabled.
> >>>>>>>
> >>>>>>>      Luis
> >>>>>>
> >>>>>> CONFIG_ATH_COMMON=m
> >>>>>> # CONFIG_ATH_DEBUG is not set
> >>>>>> CONFIG_ATH5K=m
> >>>>>> # CONFIG_ATH5K_DEBUG is not set
> >>>>>> CONFIG_ATH9K_HW=m
> >>>>>> CONFIG_ATH9K_COMMON=m
> >>>>>> CONFIG_ATH9K=m
> >>>>>> # CONFIG_ATH9K_DEBUGFS is not set
> >>>>>>
> >>>>>> if you need my .config let me know.
> >>>>>> (I can try again reproducing, but man
> >>>>>> just doesn't easily fire off).
> >>>>>
> >>>>> Oh I mean the config options to enable the poison rant.
> >>>>>
> >>>>>      Luis
> >>>>
> >>>> shoot.. not sure how to grep for the right info
> >>>> in the .config for you, heres what grepping for COFIG_DEBUG
> >>>> looks like:
> >>>> CONFIG_DEBUG_FS=y
> >>>> CONFIG_DEBUG_KERNEL=y
> >>>> CONFIG_DEBUG_RT_MUTEXES=y
> >>>> CONFIG_DEBUG_PI_LIST=y
> >>>> CONFIG_DEBUG_SPINLOCK=y
> >>>> CONFIG_DEBUG_MUTEXES=y
> >>>> CONFIG_DEBUG_BUGVERBOSE=y
> >>>> CONFIG_DEBUG_MEMORY_INIT=y
> >>>> CONFIG_DEBUG_STACKOVERFLOW=y
> >>>
> >>> oh, this reminds me of a similar report we had for ath5k:
> >>>
> >>> https://bugzilla.kernel.org/show_bug.cgi?id=15861
> >>>
> >>> the subject on this mailing list was "ath5k misbehaving affecting other kernel
> >>> parts unrelated?"
> >>>
> >>> bruno
> >>>
> >>
> >> Could be.. From what I remember
> >> all I was doing was switching from
> >> one wireless network to another
> >> (then opening firefox to sign my life away).
> >
> > Were you using network-manager? Or the supplicant manually?
> >
> >    Luis
> >
> 
> I've got wicd(1.5.9) manager
> running over here.

Can you try this:

diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index 8c79548..a372f2c 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -599,6 +599,7 @@ static int ath9k_init_softc(u16 devid, struct ath_softc *sc, u16 subsysid,
 	 */
 	ath_read_cachesize(common, &csz);
 	common->cachelsz = csz << 2; /* convert to bytes */
+	printk("ATH9K: cachelsz: %d\n", common->cachelsz);
 
 	/* Initializes the hardware for all supported chipsets */
 	ret = ath9k_hw_init(ah);


Would like to see what you get there on dmesg upon load.

  Luis

^ permalink raw reply related

* Re: ath9k: BUG kmalloc-8192: Poison overwritten
From: Luis R. Rodriguez @ 2010-05-14  1:45 UTC (permalink / raw)
  To: Luis Rodriguez
  Cc: Justin P. Mattock, Bruno Randolf, linux-wireless@vger.kernel.org,
	Linux Kernel Mailing List
In-Reply-To: <20100514014311.GC2170@tux>

On Thu, May 13, 2010 at 06:43:11PM -0700, Luis Rodriguez wrote:
> On Thu, May 13, 2010 at 06:26:04PM -0700, Justin P. Mattock wrote:
> > On 05/13/10 18:23, Luis R. Rodriguez wrote:
> > > On Thu, May 13, 2010 at 06:13:18PM -0700, Justin P. Mattock wrote:
> > >> On 05/13/10 18:08, Bruno Randolf wrote:
> > >>> On Friday 14 May 2010 09:50:51 Justin P. Mattock wrote:
> > >>>> On 05/13/10 17:28, Luis R. Rodriguez wrote:
> > >>>>> On Thu, May 13, 2010 at 5:21 PM, Justin P. Mattock
> > >>>>>
> > >>>>> <justinmattock@gmail.com>    wrote:
> > >>>>>> On 05/13/10 16:01, Luis R. Rodriguez wrote:
> > >>>>>>> On Thu, May 13, 2010 at 3:17 PM, Justin P. Mattock
> > >>>>>>>
> > >>>>>>> <justinmattock@gmail.com>      wrote:
> > >>>>>>>> not sure what this is, but while at a convention
> > >>>>>>>> I was trying to access the internet and(below is
> > >>>>>>>> full dmesg) this showed up.
> > >>>>>>>>
> > >>>>>>>> After receiving this, I sat and tried to re-create
> > >>>>>>>> my steps to reproduce but had no luck(was even going
> > >>>>>>>> todo a bisect n the spot if I could re-create).
> > >>>>>>>
> > >>>>>>> OK this stuff is hard to reproduce it seems.. you have an Atheros
> > >>>>>>> AR5418 MAC/BB Rev:2 AR5133 RF Rev:81, what kconfig option do you use
> > >>>>>>> to get the poison stuff? I am just surprised we haven't seen it
> > >>>>>>> ourselves yet. Let me make sure all of us get this kconfig option
> > >>>>>>> enabled.
> > >>>>>>>
> > >>>>>>>      Luis
> > >>>>>>
> > >>>>>> CONFIG_ATH_COMMON=m
> > >>>>>> # CONFIG_ATH_DEBUG is not set
> > >>>>>> CONFIG_ATH5K=m
> > >>>>>> # CONFIG_ATH5K_DEBUG is not set
> > >>>>>> CONFIG_ATH9K_HW=m
> > >>>>>> CONFIG_ATH9K_COMMON=m
> > >>>>>> CONFIG_ATH9K=m
> > >>>>>> # CONFIG_ATH9K_DEBUGFS is not set
> > >>>>>>
> > >>>>>> if you need my .config let me know.
> > >>>>>> (I can try again reproducing, but man
> > >>>>>> just doesn't easily fire off).
> > >>>>>
> > >>>>> Oh I mean the config options to enable the poison rant.
> > >>>>>
> > >>>>>      Luis
> > >>>>
> > >>>> shoot.. not sure how to grep for the right info
> > >>>> in the .config for you, heres what grepping for COFIG_DEBUG
> > >>>> looks like:
> > >>>> CONFIG_DEBUG_FS=y
> > >>>> CONFIG_DEBUG_KERNEL=y
> > >>>> CONFIG_DEBUG_RT_MUTEXES=y
> > >>>> CONFIG_DEBUG_PI_LIST=y
> > >>>> CONFIG_DEBUG_SPINLOCK=y
> > >>>> CONFIG_DEBUG_MUTEXES=y
> > >>>> CONFIG_DEBUG_BUGVERBOSE=y
> > >>>> CONFIG_DEBUG_MEMORY_INIT=y
> > >>>> CONFIG_DEBUG_STACKOVERFLOW=y
> > >>>
> > >>> oh, this reminds me of a similar report we had for ath5k:
> > >>>
> > >>> https://bugzilla.kernel.org/show_bug.cgi?id=15861
> > >>>
> > >>> the subject on this mailing list was "ath5k misbehaving affecting other kernel
> > >>> parts unrelated?"
> > >>>
> > >>> bruno
> > >>>
> > >>
> > >> Could be.. From what I remember
> > >> all I was doing was switching from
> > >> one wireless network to another
> > >> (then opening firefox to sign my life away).
> > >
> > > Were you using network-manager? Or the supplicant manually?
> > >
> > >    Luis
> > >
> > 
> > I've got wicd(1.5.9) manager
> > running over here.
> 
> Can you try this:
> 
> diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
> index 8c79548..a372f2c 100644
> --- a/drivers/net/wireless/ath/ath9k/init.c
> +++ b/drivers/net/wireless/ath/ath9k/init.c
> @@ -599,6 +599,7 @@ static int ath9k_init_softc(u16 devid, struct ath_softc *sc, u16 subsysid,
>  	 */
>  	ath_read_cachesize(common, &csz);
>  	common->cachelsz = csz << 2; /* convert to bytes */
> +	printk("ATH9K: cachelsz: %d\n", common->cachelsz);
>  
>  	/* Initializes the hardware for all supported chipsets */
>  	ret = ath9k_hw_init(ah);
> 
> 
> Would like to see what you get there on dmesg upon load.

Actually don't bother I just realized you can get this with
ATH_DBG_CONFIG enabled.

                ath_print(common, ATH_DBG_CONFIG, "cachelsz %u rxbufsize %u\n",
                                common->cachelsz, common->rx_bufsize);


This is already in the code so just

modprobe ath9k debug=0x00000200

  Luis

^ permalink raw reply

* Re: ath9k: BUG kmalloc-8192: Poison overwritten
From: Justin P. Mattock @ 2010-05-14  2:14 UTC (permalink / raw)
  To: Luis R. Rodriguez
  Cc: Luis Rodriguez, Bruno Randolf, linux-wireless@vger.kernel.org,
	Linux Kernel Mailing List
In-Reply-To: <20100514014553.GD2170@tux>

On 05/13/10 18:45, Luis R. Rodriguez wrote:
> On Thu, May 13, 2010 at 06:43:11PM -0700, Luis Rodriguez wrote:
>> On Thu, May 13, 2010 at 06:26:04PM -0700, Justin P. Mattock wrote:
>>> On 05/13/10 18:23, Luis R. Rodriguez wrote:
>>>> On Thu, May 13, 2010 at 06:13:18PM -0700, Justin P. Mattock wrote:
>>>>> On 05/13/10 18:08, Bruno Randolf wrote:
>>>>>> On Friday 14 May 2010 09:50:51 Justin P. Mattock wrote:
>>>>>>> On 05/13/10 17:28, Luis R. Rodriguez wrote:
>>>>>>>> On Thu, May 13, 2010 at 5:21 PM, Justin P. Mattock
>>>>>>>>
>>>>>>>> <justinmattock@gmail.com>     wrote:
>>>>>>>>> On 05/13/10 16:01, Luis R. Rodriguez wrote:
>>>>>>>>>> On Thu, May 13, 2010 at 3:17 PM, Justin P. Mattock
>>>>>>>>>>
>>>>>>>>>> <justinmattock@gmail.com>       wrote:
>>>>>>>>>>> not sure what this is, but while at a convention
>>>>>>>>>>> I was trying to access the internet and(below is
>>>>>>>>>>> full dmesg) this showed up.
>>>>>>>>>>>
>>>>>>>>>>> After receiving this, I sat and tried to re-create
>>>>>>>>>>> my steps to reproduce but had no luck(was even going
>>>>>>>>>>> todo a bisect n the spot if I could re-create).
>>>>>>>>>>
>>>>>>>>>> OK this stuff is hard to reproduce it seems.. you have an Atheros
>>>>>>>>>> AR5418 MAC/BB Rev:2 AR5133 RF Rev:81, what kconfig option do you use
>>>>>>>>>> to get the poison stuff? I am just surprised we haven't seen it
>>>>>>>>>> ourselves yet. Let me make sure all of us get this kconfig option
>>>>>>>>>> enabled.
>>>>>>>>>>
>>>>>>>>>>       Luis
>>>>>>>>>
>>>>>>>>> CONFIG_ATH_COMMON=m
>>>>>>>>> # CONFIG_ATH_DEBUG is not set
>>>>>>>>> CONFIG_ATH5K=m
>>>>>>>>> # CONFIG_ATH5K_DEBUG is not set
>>>>>>>>> CONFIG_ATH9K_HW=m
>>>>>>>>> CONFIG_ATH9K_COMMON=m
>>>>>>>>> CONFIG_ATH9K=m
>>>>>>>>> # CONFIG_ATH9K_DEBUGFS is not set
>>>>>>>>>
>>>>>>>>> if you need my .config let me know.
>>>>>>>>> (I can try again reproducing, but man
>>>>>>>>> just doesn't easily fire off).
>>>>>>>>
>>>>>>>> Oh I mean the config options to enable the poison rant.
>>>>>>>>
>>>>>>>>       Luis
>>>>>>>
>>>>>>> shoot.. not sure how to grep for the right info
>>>>>>> in the .config for you, heres what grepping for COFIG_DEBUG
>>>>>>> looks like:
>>>>>>> CONFIG_DEBUG_FS=y
>>>>>>> CONFIG_DEBUG_KERNEL=y
>>>>>>> CONFIG_DEBUG_RT_MUTEXES=y
>>>>>>> CONFIG_DEBUG_PI_LIST=y
>>>>>>> CONFIG_DEBUG_SPINLOCK=y
>>>>>>> CONFIG_DEBUG_MUTEXES=y
>>>>>>> CONFIG_DEBUG_BUGVERBOSE=y
>>>>>>> CONFIG_DEBUG_MEMORY_INIT=y
>>>>>>> CONFIG_DEBUG_STACKOVERFLOW=y
>>>>>>
>>>>>> oh, this reminds me of a similar report we had for ath5k:
>>>>>>
>>>>>> https://bugzilla.kernel.org/show_bug.cgi?id=15861
>>>>>>
>>>>>> the subject on this mailing list was "ath5k misbehaving affecting other kernel
>>>>>> parts unrelated?"
>>>>>>
>>>>>> bruno
>>>>>>
>>>>>
>>>>> Could be.. From what I remember
>>>>> all I was doing was switching from
>>>>> one wireless network to another
>>>>> (then opening firefox to sign my life away).
>>>>
>>>> Were you using network-manager? Or the supplicant manually?
>>>>
>>>>     Luis
>>>>
>>>
>>> I've got wicd(1.5.9) manager
>>> running over here.
>>
>> Can you try this:
>>
>> diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
>> index 8c79548..a372f2c 100644
>> --- a/drivers/net/wireless/ath/ath9k/init.c
>> +++ b/drivers/net/wireless/ath/ath9k/init.c
>> @@ -599,6 +599,7 @@ static int ath9k_init_softc(u16 devid, struct ath_softc *sc, u16 subsysid,
>>   	 */
>>   	ath_read_cachesize(common,&csz);
>>   	common->cachelsz = csz<<  2; /* convert to bytes */
>> +	printk("ATH9K: cachelsz: %d\n", common->cachelsz);
>>
>>   	/* Initializes the hardware for all supported chipsets */
>>   	ret = ath9k_hw_init(ah);
>>
>>
>> Would like to see what you get there on dmesg upon load.
>
> Actually don't bother I just realized you can get this with
> ATH_DBG_CONFIG enabled.
>
>                  ath_print(common, ATH_DBG_CONFIG, "cachelsz %u rxbufsize %u\n",
>                                  common->cachelsz, common->rx_bufsize);
>
>
> This is already in the code so just
>
> modprobe ath9k debug=0x00000200
>
>    Luis
>


what I can try, is(not at the convention, on eth0
at the moment), but when I get back to the convention
center place I can try your patch as well as the
modprobe option, to see if I can get any signs of
a recreation(if so I'll bisect there).

Justin P. Mattock

^ permalink raw reply

* Re: ath9k: BUG kmalloc-8192: Poison overwritten
From: Luis R. Rodriguez @ 2010-05-14  4:01 UTC (permalink / raw)
  To: Justin P. Mattock
  Cc: Luis Rodriguez, Bruno Randolf, linux-wireless@vger.kernel.org,
	Linux Kernel Mailing List
In-Reply-To: <4BECB1F2.5050900@gmail.com>

On Thu, May 13, 2010 at 7:14 PM, Justin P. Mattock
<justinmattock@gmail.com> wrote:

>
> what I can try, is(not at the convention, on eth0
> at the moment), but when I get back to the convention
> center place I can try your patch as well as the
> modprobe option, to see if I can get any signs of
> a recreation(if so I'll bisect there).

The debug info I just need upon load of the module, I don't need you
to run the debug stuff to try to reproduce. The debug print upon load
will tell us the rxbuf size and cache line size.

  Luis

^ permalink raw reply

* Re: ath9k: BUG kmalloc-8192: Poison overwritten
From: Justin P. Mattock @ 2010-05-14  4:44 UTC (permalink / raw)
  To: Luis R. Rodriguez
  Cc: Luis Rodriguez, Bruno Randolf, linux-wireless@vger.kernel.org,
	Linux Kernel Mailing List
In-Reply-To: <AANLkTilOJMtg1EIlDgY3_T5Xb6Zed0tbqkD7CGr7utol@mail.gmail.com>

On 05/13/10 21:01, Luis R. Rodriguez wrote:
> On Thu, May 13, 2010 at 7:14 PM, Justin P. Mattock
> <justinmattock@gmail.com>  wrote:
>
>>
>> what I can try, is(not at the convention, on eth0
>> at the moment), but when I get back to the convention
>> center place I can try your patch as well as the
>> modprobe option, to see if I can get any signs of
>> a recreation(if so I'll bisect there).
>
> The debug info I just need upon load of the module, I don't need you
> to run the debug stuff to try to reproduce. The debug print upon load
> will tell us the rxbuf size and cache line size.
>
>    Luis
>

o.k. it's not pretty due
to loads of avc's for SELinux:
(I run a rootless system).

[   84.172649] ath9k: Driver unloaded
[  100.675300] audit_printk_skb: 6 callbacks suppressed
[  100.675306] type=1400 audit(1273811633.675:20): avc:  denied  { 
search } for  pid=2168 comm="modprobe" name="modules" dev=sda3 ino=2500 
scontext=name:staff_r:staff_sudo_t:s0 
tcontext=system_u:object_r:modules_object_t:s0 tclass=dir
[  100.675408] type=1400 audit(1273811633.675:20): avc:  denied  { 
search } for  pid=2168 comm="modprobe" name="2.6.34-rc7-00057-gcdfda35" 
dev=sda3 ino=524392 scontext=name:staff_r:staff_sudo_t:s0 
tcontext=name:object_r:modules_object_t:s0 tclass=dir
[  100.675552] type=1400 audit(1273811633.675:20): avc:  denied  { read 
} for  pid=2168 comm="modprobe" name="modules.dep.bin" dev=sda3 
ino=525251 scontext=name:staff_r:staff_sudo_t:s0 
tcontext=name:object_r:modules_object_t:s0 tclass=file
[  100.675598] type=1400 audit(1273811633.675:20): avc:  denied  { open 
} for  pid=2168 comm="modprobe" name="modules.dep.bin" dev=sda3 
ino=525251 scontext=name:staff_r:staff_sudo_t:s0 
tcontext=name:object_r:modules_object_t:s0 tclass=file
[  100.675748] type=1300 audit(1273811633.675:20): arch=c000003e 
syscall=2 success=yes exit=3 a0=60d140 a1=0 a2=1b6 a3=0 items=0 
ppid=2080 pid=2168 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 
sgid=0 fsgid=0 tty=pts0 ses=1 comm="modprobe" exe="/sbin/modprobe" 
subj=name:staff_r:staff_sudo_t:s0 key=(null)
[  100.675902] type=1400 audit(1273811633.675:21): avc:  denied  { 
getattr } for  pid=2168 comm="modprobe" 
path="/lib/modules/2.6.34-rc7-00057-gcdfda35/modules.dep.bin" dev=sda3 
ino=525251 scontext=name:staff_r:staff_sudo_t:s0 
tcontext=name:object_r:modules_object_t:s0 tclass=file
[  100.676052] type=1300 audit(1273811633.675:21): arch=c000003e 
syscall=5 success=yes exit=0 a0=3 a1=7fffd2d1dd70 a2=7fffd2d1dd70 a3=0 
items=0 ppid=2080 pid=2168 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 
egid=0 sgid=0 fsgid=0 tty=pts0 ses=1 comm="modprobe" 
exe="/sbin/modprobe" subj=name:staff_r:staff_sudo_t:s0 key=(null)
[  100.698392] ath9k 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> 
IRQ 17
[  100.698409] ath9k 0000:03:00.0: setting latency timer to 64
[  100.828787] ath: EEPROM regdomain: 0x64
[  100.828790] ath: EEPROM indicates we should expect a direct regpair map
[  100.828793] ath: Country alpha2 being used: 00
[  100.828795] ath: Regpair used: 0x64
[  100.848609] type=1400 audit(1273811633.678:22): avc:  denied  { 
search } for  pid=2168 comm="modprobe" name="ieee80211" dev=debugfs 
ino=18 scontext=name:staff_r:staff_sudo_t:s0 
tcontext=system_u:object_r:debugfs_t:s0 tclass=dir
[  100.848788] phy1: Selected rate control algorithm 'ath9k_rate_control'
[  100.850035] Registered led device: ath9k-phy1::radio
[  100.850488] Registered led device: ath9k-phy1::assoc
[  100.851227] Registered led device: ath9k-phy1::tx
[  100.851633] Registered led device: ath9k-phy1::rx
[  100.851640] phy1: Atheros AR5418 MAC/BB Rev:2 AR5133 RF Rev:81 
mem=0xffffc900005a0000, irq=17
[  100.852240] type=1300 audit(1273811633.678:22): arch=c000003e 
syscall=175 success=yes exit=0 a0=7f1e9d6ab010 a1=19580 a2=60d920 a3=0 
items=0 ppid=2080 pid=2168 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 
egid=0 sgid=0 fsgid=0 tty=pts0 ses=1 comm="modprobe" 
exe="/sbin/modprobe" subj=name:staff_r:staff_sudo_t:s0 key=(null)

but there you go dmesg of the debug info for you

Justin P. Mattock

^ permalink raw reply

* Re: ath9k: BUG kmalloc-8192: Poison overwritten
From: Pekka Enberg @ 2010-05-14  4:55 UTC (permalink / raw)
  To: Luis R. Rodriguez
  Cc: Justin P. Mattock, linux-wireless, Linux Kernel Mailing List,
	Christoph Lameter
In-Reply-To: <AANLkTim7B5z76zJ33by6SGMgSy1gZF6qiwhEhAQ3NUtG@mail.gmail.com>

Hi Luis,

On Fri, May 14, 2010 at 2:01 AM, Luis R. Rodriguez
<lrodriguez@atheros.com> wrote:
> On Thu, May 13, 2010 at 3:17 PM, Justin P. Mattock
> <justinmattock@gmail.com> wrote:
>> not sure what this is, but while at a convention
>> I was trying to access the internet and(below is
>> full dmesg) this showed up.
>>
>> After receiving this, I sat and tried to re-create
>> my steps to reproduce but had no luck(was even going
>> todo a bisect n the spot if I could re-create).
>
> OK this stuff is hard to reproduce it seems.. you have an Atheros
> AR5418 MAC/BB Rev:2 AR5133 RF Rev:81, what kconfig option do you use
> to get the poison stuff? I am just surprised we haven't seen it
> ourselves yet. Let me make sure all of us get this kconfig option
> enabled.

CONFIG_SLUB_DEBUG and then either CONFIG_SLUB_DEBUG_ON or pass
'slub_debug' as kernel parameter.

^ permalink raw reply

* Re: ath9k: BUG kmalloc-8192: Poison overwritten
From: Luis R. Rodriguez @ 2010-05-14  5:07 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Justin P. Mattock, linux-wireless, Linux Kernel Mailing List,
	Christoph Lameter
In-Reply-To: <AANLkTim7fnKebMoEu1DjD3S-15ZqlTUez3Lpp0wGVJQ6@mail.gmail.com>

On Thu, May 13, 2010 at 9:55 PM, Pekka Enberg <penberg@cs.helsinki.fi> wrote:
> Hi Luis,
>
> On Fri, May 14, 2010 at 2:01 AM, Luis R. Rodriguez
> <lrodriguez@atheros.com> wrote:
>> On Thu, May 13, 2010 at 3:17 PM, Justin P. Mattock
>> <justinmattock@gmail.com> wrote:
>>> not sure what this is, but while at a convention
>>> I was trying to access the internet and(below is
>>> full dmesg) this showed up.
>>>
>>> After receiving this, I sat and tried to re-create
>>> my steps to reproduce but had no luck(was even going
>>> todo a bisect n the spot if I could re-create).
>>
>> OK this stuff is hard to reproduce it seems.. you have an Atheros
>> AR5418 MAC/BB Rev:2 AR5133 RF Rev:81, what kconfig option do you use
>> to get the poison stuff? I am just surprised we haven't seen it
>> ourselves yet. Let me make sure all of us get this kconfig option
>> enabled.
>
> CONFIG_SLUB_DEBUG and then either CONFIG_SLUB_DEBUG_ON or pass
> 'slub_debug' as kernel parameter.

Ah OK I had CONFIG_SLUB_DEBUG but not  CONFIG_SLUB_DEBUG_ON, will
enable it from here on.

  Luis

^ permalink raw reply

* Re: ath9k: BUG kmalloc-8192: Poison overwritten
From: Justin P. Mattock @ 2010-05-14  5:19 UTC (permalink / raw)
  To: Luis R. Rodriguez
  Cc: Pekka Enberg, linux-wireless, Linux Kernel Mailing List,
	Christoph Lameter
In-Reply-To: <AANLkTimmctk1GWOTlW8Han7E3gJVgqJjUAMeqYnvyuHn@mail.gmail.com>

On 05/13/10 22:07, Luis R. Rodriguez wrote:
> On Thu, May 13, 2010 at 9:55 PM, Pekka Enberg<penberg@cs.helsinki.fi>  wrote:
>> Hi Luis,
>>
>> On Fri, May 14, 2010 at 2:01 AM, Luis R. Rodriguez
>> <lrodriguez@atheros.com>  wrote:
>>> On Thu, May 13, 2010 at 3:17 PM, Justin P. Mattock
>>> <justinmattock@gmail.com>  wrote:
>>>> not sure what this is, but while at a convention
>>>> I was trying to access the internet and(below is
>>>> full dmesg) this showed up.
>>>>
>>>> After receiving this, I sat and tried to re-create
>>>> my steps to reproduce but had no luck(was even going
>>>> todo a bisect n the spot if I could re-create).
>>>
>>> OK this stuff is hard to reproduce it seems.. you have an Atheros
>>> AR5418 MAC/BB Rev:2 AR5133 RF Rev:81, what kconfig option do you use
>>> to get the poison stuff? I am just surprised we haven't seen it
>>> ourselves yet. Let me make sure all of us get this kconfig option
>>> enabled.
>>
>> CONFIG_SLUB_DEBUG and then either CONFIG_SLUB_DEBUG_ON or pass
>> 'slub_debug' as kernel parameter.
>
> Ah OK I had CONFIG_SLUB_DEBUG but not  CONFIG_SLUB_DEBUG_ON, will
> enable it from here on.
>
>    Luis
>

I enable these options as well..
(then see If I can(hopefully)re-create this
then I'll bisect it).

Justin P. Mattock

^ permalink raw reply

* [PATCH 1/4] ath9k_htc: Add queue statistics to xmit debugfs file
From: Sujith @ 2010-05-14  5:48 UTC (permalink / raw)
  To: linville; +Cc: linux-wireless

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
---
 drivers/net/wireless/ath/ath9k/htc.h          |    3 +++
 drivers/net/wireless/ath/ath9k/htc_drv_main.c |   13 +++++++++++++
 drivers/net/wireless/ath/ath9k/htc_drv_txrx.c |    4 ++++
 3 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/htc.h b/drivers/net/wireless/ath/ath9k/htc.h
index ad556aa..2dd9ad3 100644
--- a/drivers/net/wireless/ath/ath9k/htc.h
+++ b/drivers/net/wireless/ath/ath9k/htc.h
@@ -256,12 +256,15 @@ struct ath9k_htc_tx_ctl {
 #define TX_STAT_INC(c) (hif_dev->htc_handle->drv_priv->debug.tx_stats.c++)
 #define RX_STAT_INC(c) (hif_dev->htc_handle->drv_priv->debug.rx_stats.c++)
 
+#define TX_QSTAT_INC(q) (priv->debug.tx_stats.queue_stats[q]++)
+
 struct ath_tx_stats {
 	u32 buf_queued;
 	u32 buf_completed;
 	u32 skb_queued;
 	u32 skb_completed;
 	u32 skb_dropped;
+	u32 queue_stats[WME_NUM_AC];
 };
 
 struct ath_rx_stats {
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
index 9d371c1..cf1112b 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
@@ -617,6 +617,19 @@ static ssize_t read_file_xmit(struct file *file, char __user *user_buf,
 			"%20s : %10u\n", "SKBs dropped",
 			priv->debug.tx_stats.skb_dropped);
 
+	len += snprintf(buf + len, sizeof(buf) - len,
+			"%20s : %10u\n", "BE queued",
+			priv->debug.tx_stats.queue_stats[WME_AC_BE]);
+	len += snprintf(buf + len, sizeof(buf) - len,
+			"%20s : %10u\n", "BK queued",
+			priv->debug.tx_stats.queue_stats[WME_AC_BK]);
+	len += snprintf(buf + len, sizeof(buf) - len,
+			"%20s : %10u\n", "VI queued",
+			priv->debug.tx_stats.queue_stats[WME_AC_VI]);
+	len += snprintf(buf + len, sizeof(buf) - len,
+			"%20s : %10u\n", "VO queued",
+			priv->debug.tx_stats.queue_stats[WME_AC_VO]);
+
 	return simple_read_from_buffer(user_buf, count, ppos, buf, len);
 }
 
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
index 28abc7d..2a0585d 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
@@ -135,16 +135,20 @@ int ath9k_htc_tx_start(struct ath9k_htc_priv *priv, struct sk_buff *skb)
 
 		switch (hw_qnum) {
 		case 0:
+			TX_QSTAT_INC(WME_AC_BE);
 			epid = priv->data_be_ep;
 			break;
 		case 2:
+			TX_QSTAT_INC(WME_AC_VI);
 			epid = priv->data_vi_ep;
 			break;
 		case 3:
+			TX_QSTAT_INC(WME_AC_VO);
 			epid = priv->data_vo_ep;
 			break;
 		case 1:
 		default:
+			TX_QSTAT_INC(WME_AC_BK);
 			epid = priv->data_bk_ep;
 			break;
 		}
-- 
1.7.1


^ permalink raw reply related

* [PATCH 2/4] ath9k_htc: Initialize beacon/CAB queues
From: Sujith @ 2010-05-14  5:48 UTC (permalink / raw)
  To: linville; +Cc: linux-wireless

This patch initializes the beacon and CAB HW queues
when the driver is loaded.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
---
 drivers/net/wireless/ath/ath9k/htc.h          |    4 +++
 drivers/net/wireless/ath/ath9k/htc_drv_init.c |   14 ++++++++++++
 drivers/net/wireless/ath/ath9k/htc_drv_txrx.c |   28 ++++++++++++++++++------
 3 files changed, 39 insertions(+), 7 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/htc.h b/drivers/net/wireless/ath/ath9k/htc.h
index 2dd9ad3..47255c8 100644
--- a/drivers/net/wireless/ath/ath9k/htc.h
+++ b/drivers/net/wireless/ath/ath9k/htc.h
@@ -392,6 +392,9 @@ struct ath9k_htc_priv {
 	int led_off_duration;
 	int led_on_cnt;
 	int led_off_cnt;
+
+	int beaconq;
+	int cabq;
 	int hwq_map[ATH9K_WME_AC_VO+1];
 
 #ifdef CONFIG_ATH9K_HTC_DEBUGFS
@@ -428,6 +431,7 @@ int ath9k_htc_tx_start(struct ath9k_htc_priv *priv, struct sk_buff *skb);
 void ath9k_tx_cleanup(struct ath9k_htc_priv *priv);
 bool ath9k_htc_txq_setup(struct ath9k_htc_priv *priv,
 			 enum ath9k_tx_queue_subtype qtype);
+int ath9k_htc_cabq_setup(struct ath9k_htc_priv *priv);
 int get_hw_qnum(u16 queue, int *hwq_map);
 int ath_htc_txq_update(struct ath9k_htc_priv *priv, int qnum,
 		       struct ath9k_tx_queue_info *qinfo);
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_init.c b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
index dc01507..7ec2c2e 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
@@ -420,6 +420,20 @@ static int ath9k_init_queues(struct ath9k_htc_priv *priv)
 	for (i = 0; i < ARRAY_SIZE(priv->hwq_map); i++)
 		priv->hwq_map[i] = -1;
 
+	priv->beaconq = ath9k_hw_beaconq_setup(priv->ah);
+	if (priv->beaconq == -1) {
+		ath_print(common, ATH_DBG_FATAL,
+			  "Unable to setup BEACON xmit queue\n");
+		goto err;
+	}
+
+	priv->cabq = ath9k_htc_cabq_setup(priv);
+	if (priv->cabq == -1) {
+		ath_print(common, ATH_DBG_FATAL,
+			  "Unable to setup CAB xmit queue\n");
+		goto err;
+	}
+
 	if (!ath9k_htc_txq_setup(priv, ATH9K_WME_AC_BE)) {
 		ath_print(common, ATH_DBG_FATAL,
 			  "Unable to setup xmit queue for BE traffic\n");
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
index 2a0585d..15e716a 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
@@ -20,6 +20,16 @@
 /* TX */
 /******/
 
+#define ATH9K_HTC_INIT_TXQ(subtype) do {			\
+		qi.tqi_subtype = subtype;			\
+		qi.tqi_aifs = ATH9K_TXQ_USEDEFAULT;		\
+		qi.tqi_cwmin = ATH9K_TXQ_USEDEFAULT;		\
+		qi.tqi_cwmax = ATH9K_TXQ_USEDEFAULT;		\
+		qi.tqi_physCompBuf = 0;				\
+		qi.tqi_qflags = TXQ_FLAG_TXEOLINT_ENABLE |	\
+			TXQ_FLAG_TXDESCINT_ENABLE;		\
+	} while (0)
+
 int get_hw_qnum(u16 queue, int *hwq_map)
 {
 	switch (queue) {
@@ -297,13 +307,7 @@ bool ath9k_htc_txq_setup(struct ath9k_htc_priv *priv,
 	int qnum;
 
 	memset(&qi, 0, sizeof(qi));
-
-	qi.tqi_subtype = subtype;
-	qi.tqi_aifs = ATH9K_TXQ_USEDEFAULT;
-	qi.tqi_cwmin = ATH9K_TXQ_USEDEFAULT;
-	qi.tqi_cwmax = ATH9K_TXQ_USEDEFAULT;
-	qi.tqi_physCompBuf = 0;
-	qi.tqi_qflags = TXQ_FLAG_TXEOLINT_ENABLE | TXQ_FLAG_TXDESCINT_ENABLE;
+	ATH9K_HTC_INIT_TXQ(subtype);
 
 	qnum = ath9k_hw_setuptxqueue(priv->ah, ATH9K_TX_QUEUE_DATA, &qi);
 	if (qnum == -1)
@@ -321,6 +325,16 @@ bool ath9k_htc_txq_setup(struct ath9k_htc_priv *priv,
 	return true;
 }
 
+int ath9k_htc_cabq_setup(struct ath9k_htc_priv *priv)
+{
+	struct ath9k_tx_queue_info qi;
+
+	memset(&qi, 0, sizeof(qi));
+	ATH9K_HTC_INIT_TXQ(0);
+
+	return ath9k_hw_setuptxqueue(priv->ah, ATH9K_TX_QUEUE_CAB, &qi);
+}
+
 /******/
 /* RX */
 /******/
-- 
1.7.1


^ permalink raw reply related

* [PATCH 3/4] ath9k_htc: Remove HW queue translation
From: Sujith @ 2010-05-14  5:48 UTC (permalink / raw)
  To: linville; +Cc: linux-wireless

There is no need to determine the HW queue
for each packet that is transmitted. The endpoint
can be chosen directly based on the queue type
that mac80211 sends down.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
---
 drivers/net/wireless/ath/ath9k/htc_drv_txrx.c |   19 +++++++++----------
 1 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
index 15e716a..8d461aa 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
@@ -81,7 +81,7 @@ int ath9k_htc_tx_start(struct ath9k_htc_priv *priv, struct sk_buff *skb)
 	struct ath9k_htc_vif *avp;
 	struct ath9k_htc_tx_ctl tx_ctl;
 	enum htc_endpoint_id epid;
-	u16 qnum, hw_qnum;
+	u16 qnum;
 	__le16 fc;
 	u8 *tx_fhdr;
 	u8 sta_idx;
@@ -141,22 +141,21 @@ int ath9k_htc_tx_start(struct ath9k_htc_priv *priv, struct sk_buff *skb)
 		memcpy(tx_fhdr, (u8 *) &tx_hdr, sizeof(tx_hdr));
 
 		qnum = skb_get_queue_mapping(skb);
-		hw_qnum = get_hw_qnum(qnum, priv->hwq_map);
 
-		switch (hw_qnum) {
+		switch (qnum) {
 		case 0:
-			TX_QSTAT_INC(WME_AC_BE);
-			epid = priv->data_be_ep;
+			TX_QSTAT_INC(WME_AC_VO);
+			epid = priv->data_vo_ep;
 			break;
-		case 2:
+		case 1:
 			TX_QSTAT_INC(WME_AC_VI);
 			epid = priv->data_vi_ep;
 			break;
-		case 3:
-			TX_QSTAT_INC(WME_AC_VO);
-			epid = priv->data_vo_ep;
+		case 2:
+			TX_QSTAT_INC(WME_AC_BE);
+			epid = priv->data_be_ep;
 			break;
-		case 1:
+		case 3:
 		default:
 			TX_QSTAT_INC(WME_AC_BK);
 			epid = priv->data_bk_ep;
-- 
1.7.1


^ permalink raw reply related

* [PATCH 4/4] ath9k_htc: Increase credit size
From: Sujith @ 2010-05-14  5:48 UTC (permalink / raw)
  To: linville; +Cc: linux-wireless

This is the maximum supported by the firmware.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
---
 drivers/net/wireless/ath/ath9k/htc_hst.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/htc_hst.c b/drivers/net/wireless/ath/ath9k/htc_hst.c
index 064397f..2173196 100644
--- a/drivers/net/wireless/ath/ath9k/htc_hst.c
+++ b/drivers/net/wireless/ath/ath9k/htc_hst.c
@@ -159,7 +159,7 @@ static int htc_config_pipe_credits(struct htc_target *target)
 
 	cp_msg->message_id = cpu_to_be16(HTC_MSG_CONFIG_PIPE_ID);
 	cp_msg->pipe_id = USB_WLAN_TX_PIPE;
-	cp_msg->credits = 28;
+	cp_msg->credits = 33;
 
 	target->htc_flags |= HTC_OP_CONFIG_PIPE_CREDITS;
 
-- 
1.7.1


^ permalink raw reply related

* Re: ath9k: BUG kmalloc-8192: Poison overwritten
From: Luis R. Rodriguez @ 2010-05-14  6:16 UTC (permalink / raw)
  To: Justin P. Mattock
  Cc: Luis Rodriguez, Bruno Randolf, linux-wireless@vger.kernel.org,
	Linux Kernel Mailing List
In-Reply-To: <4BECD518.6040801@gmail.com>

On Thu, May 13, 2010 at 9:44 PM, Justin P. Mattock
<justinmattock@gmail.com> wrote:
> On 05/13/10 21:01, Luis R. Rodriguez wrote:
>>
>> On Thu, May 13, 2010 at 7:14 PM, Justin P. Mattock
>> <justinmattock@gmail.com>  wrote:
>>
>>>
>>> what I can try, is(not at the convention, on eth0
>>> at the moment), but when I get back to the convention
>>> center place I can try your patch as well as the
>>> modprobe option, to see if I can get any signs of
>>> a recreation(if so I'll bisect there).
>>
>> The debug info I just need upon load of the module, I don't need you
>> to run the debug stuff to try to reproduce. The debug print upon load
>> will tell us the rxbuf size and cache line size.
>>
>>   Luis
>>
>
> o.k. it's not pretty due
> to loads of avc's for SELinux:
> (I run a rootless system).
>
> [   84.172649] ath9k: Driver unloaded
> [  100.675300] audit_printk_skb: 6 callbacks suppressed
> [  100.675306] type=1400 audit(1273811633.675:20): avc:  denied  { search }
> for  pid=2168 comm="modprobe" name="modules" dev=sda3 ino=2500
> scontext=name:staff_r:staff_sudo_t:s0
> tcontext=system_u:object_r:modules_object_t:s0 tclass=dir
> [  100.675408] type=1400 audit(1273811633.675:20): avc:  denied  { search }
> for  pid=2168 comm="modprobe" name="2.6.34-rc7-00057-gcdfda35" dev=sda3
> ino=524392 scontext=name:staff_r:staff_sudo_t:s0
> tcontext=name:object_r:modules_object_t:s0 tclass=dir
> [  100.675552] type=1400 audit(1273811633.675:20): avc:  denied  { read }
> for  pid=2168 comm="modprobe" name="modules.dep.bin" dev=sda3 ino=525251
> scontext=name:staff_r:staff_sudo_t:s0
> tcontext=name:object_r:modules_object_t:s0 tclass=file
> [  100.675598] type=1400 audit(1273811633.675:20): avc:  denied  { open }
> for  pid=2168 comm="modprobe" name="modules.dep.bin" dev=sda3 ino=525251
> scontext=name:staff_r:staff_sudo_t:s0
> tcontext=name:object_r:modules_object_t:s0 tclass=file
> [  100.675748] type=1300 audit(1273811633.675:20): arch=c000003e syscall=2
> success=yes exit=3 a0=60d140 a1=0 a2=1b6 a3=0 items=0 ppid=2080 pid=2168
> auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0
> ses=1 comm="modprobe" exe="/sbin/modprobe" subj=name:staff_r:staff_sudo_t:s0
> key=(null)
> [  100.675902] type=1400 audit(1273811633.675:21): avc:  denied  { getattr }
> for  pid=2168 comm="modprobe"
> path="/lib/modules/2.6.34-rc7-00057-gcdfda35/modules.dep.bin" dev=sda3
> ino=525251 scontext=name:staff_r:staff_sudo_t:s0
> tcontext=name:object_r:modules_object_t:s0 tclass=file
> [  100.676052] type=1300 audit(1273811633.675:21): arch=c000003e syscall=5
> success=yes exit=0 a0=3 a1=7fffd2d1dd70 a2=7fffd2d1dd70 a3=0 items=0
> ppid=2080 pid=2168 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0
> fsgid=0 tty=pts0 ses=1 comm="modprobe" exe="/sbin/modprobe"
> subj=name:staff_r:staff_sudo_t:s0 key=(null)
> [  100.698392] ath9k 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ
> 17
> [  100.698409] ath9k 0000:03:00.0: setting latency timer to 64
> [  100.828787] ath: EEPROM regdomain: 0x64
> [  100.828790] ath: EEPROM indicates we should expect a direct regpair map
> [  100.828793] ath: Country alpha2 being used: 00
> [  100.828795] ath: Regpair used: 0x64
> [  100.848609] type=1400 audit(1273811633.678:22): avc:  denied  { search }
> for  pid=2168 comm="modprobe" name="ieee80211" dev=debugfs ino=18
> scontext=name:staff_r:staff_sudo_t:s0
> tcontext=system_u:object_r:debugfs_t:s0 tclass=dir
> [  100.848788] phy1: Selected rate control algorithm 'ath9k_rate_control'
> [  100.850035] Registered led device: ath9k-phy1::radio
> [  100.850488] Registered led device: ath9k-phy1::assoc
> [  100.851227] Registered led device: ath9k-phy1::tx
> [  100.851633] Registered led device: ath9k-phy1::rx
> [  100.851640] phy1: Atheros AR5418 MAC/BB Rev:2 AR5133 RF Rev:81
> mem=0xffffc900005a0000, irq=17
> [  100.852240] type=1300 audit(1273811633.678:22): arch=c000003e syscall=175
> success=yes exit=0 a0=7f1e9d6ab010 a1=19580 a2=60d920 a3=0 items=0 ppid=2080
> pid=2168 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0
> tty=pts0 ses=1 comm="modprobe" exe="/sbin/modprobe"
> subj=name:staff_r:staff_sudo_t:s0 key=(null)
>
> but there you go dmesg of the debug info for you

Justin, did you forget to use the debug parameter on modprobe ath9k?

modprobe ath9k debug=0x0000020

I do not see the output I expected.

  Luis

^ permalink raw reply

* Re: ath9k: BUG kmalloc-8192: Poison overwritten
From: Justin P. Mattock @ 2010-05-14  6:20 UTC (permalink / raw)
  To: Luis R. Rodriguez
  Cc: Luis Rodriguez, Bruno Randolf, linux-wireless@vger.kernel.org,
	Linux Kernel Mailing List
In-Reply-To: <AANLkTinE1q2K3j-IwCa3IPzTUChgi9wKTqBrVR1mGlv9@mail.gmail.com>

On 05/13/10 23:16, Luis R. Rodriguez wrote:
> On Thu, May 13, 2010 at 9:44 PM, Justin P. Mattock
> <justinmattock@gmail.com>  wrote:
>> On 05/13/10 21:01, Luis R. Rodriguez wrote:
>>>
>>> On Thu, May 13, 2010 at 7:14 PM, Justin P. Mattock
>>> <justinmattock@gmail.com>    wrote:
>>>
>>>>
>>>> what I can try, is(not at the convention, on eth0
>>>> at the moment), but when I get back to the convention
>>>> center place I can try your patch as well as the
>>>> modprobe option, to see if I can get any signs of
>>>> a recreation(if so I'll bisect there).
>>>
>>> The debug info I just need upon load of the module, I don't need you
>>> to run the debug stuff to try to reproduce. The debug print upon load
>>> will tell us the rxbuf size and cache line size.
>>>
>>>    Luis
>>>
>>
>> o.k. it's not pretty due
>> to loads of avc's for SELinux:
>> (I run a rootless system).
>>
>> [   84.172649] ath9k: Driver unloaded
>> [  100.675300] audit_printk_skb: 6 callbacks suppressed
>> [  100.675306] type=1400 audit(1273811633.675:20): avc:  denied  { search }
>> for  pid=2168 comm="modprobe" name="modules" dev=sda3 ino=2500
>> scontext=name:staff_r:staff_sudo_t:s0
>> tcontext=system_u:object_r:modules_object_t:s0 tclass=dir
>> [  100.675408] type=1400 audit(1273811633.675:20): avc:  denied  { search }
>> for  pid=2168 comm="modprobe" name="2.6.34-rc7-00057-gcdfda35" dev=sda3
>> ino=524392 scontext=name:staff_r:staff_sudo_t:s0
>> tcontext=name:object_r:modules_object_t:s0 tclass=dir
>> [  100.675552] type=1400 audit(1273811633.675:20): avc:  denied  { read }
>> for  pid=2168 comm="modprobe" name="modules.dep.bin" dev=sda3 ino=525251
>> scontext=name:staff_r:staff_sudo_t:s0
>> tcontext=name:object_r:modules_object_t:s0 tclass=file
>> [  100.675598] type=1400 audit(1273811633.675:20): avc:  denied  { open }
>> for  pid=2168 comm="modprobe" name="modules.dep.bin" dev=sda3 ino=525251
>> scontext=name:staff_r:staff_sudo_t:s0
>> tcontext=name:object_r:modules_object_t:s0 tclass=file
>> [  100.675748] type=1300 audit(1273811633.675:20): arch=c000003e syscall=2
>> success=yes exit=3 a0=60d140 a1=0 a2=1b6 a3=0 items=0 ppid=2080 pid=2168
>> auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0
>> ses=1 comm="modprobe" exe="/sbin/modprobe" subj=name:staff_r:staff_sudo_t:s0
>> key=(null)
>> [  100.675902] type=1400 audit(1273811633.675:21): avc:  denied  { getattr }
>> for  pid=2168 comm="modprobe"
>> path="/lib/modules/2.6.34-rc7-00057-gcdfda35/modules.dep.bin" dev=sda3
>> ino=525251 scontext=name:staff_r:staff_sudo_t:s0
>> tcontext=name:object_r:modules_object_t:s0 tclass=file
>> [  100.676052] type=1300 audit(1273811633.675:21): arch=c000003e syscall=5
>> success=yes exit=0 a0=3 a1=7fffd2d1dd70 a2=7fffd2d1dd70 a3=0 items=0
>> ppid=2080 pid=2168 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0
>> fsgid=0 tty=pts0 ses=1 comm="modprobe" exe="/sbin/modprobe"
>> subj=name:staff_r:staff_sudo_t:s0 key=(null)
>> [  100.698392] ath9k 0000:03:00.0: PCI INT A ->  GSI 17 (level, low) ->  IRQ
>> 17
>> [  100.698409] ath9k 0000:03:00.0: setting latency timer to 64
>> [  100.828787] ath: EEPROM regdomain: 0x64
>> [  100.828790] ath: EEPROM indicates we should expect a direct regpair map
>> [  100.828793] ath: Country alpha2 being used: 00
>> [  100.828795] ath: Regpair used: 0x64
>> [  100.848609] type=1400 audit(1273811633.678:22): avc:  denied  { search }
>> for  pid=2168 comm="modprobe" name="ieee80211" dev=debugfs ino=18
>> scontext=name:staff_r:staff_sudo_t:s0
>> tcontext=system_u:object_r:debugfs_t:s0 tclass=dir
>> [  100.848788] phy1: Selected rate control algorithm 'ath9k_rate_control'
>> [  100.850035] Registered led device: ath9k-phy1::radio
>> [  100.850488] Registered led device: ath9k-phy1::assoc
>> [  100.851227] Registered led device: ath9k-phy1::tx
>> [  100.851633] Registered led device: ath9k-phy1::rx
>> [  100.851640] phy1: Atheros AR5418 MAC/BB Rev:2 AR5133 RF Rev:81
>> mem=0xffffc900005a0000, irq=17
>> [  100.852240] type=1300 audit(1273811633.678:22): arch=c000003e syscall=175
>> success=yes exit=0 a0=7f1e9d6ab010 a1=19580 a2=60d920 a3=0 items=0 ppid=2080
>> pid=2168 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0
>> tty=pts0 ses=1 comm="modprobe" exe="/sbin/modprobe"
>> subj=name:staff_r:staff_sudo_t:s0 key=(null)
>>
>> but there you go dmesg of the debug info for you
>
> Justin, did you forget to use the debug parameter on modprobe ath9k?
>
> modprobe ath9k debug=0x0000020
>
> I do not see the output I expected.
>
>    Luis
>

no.. I used your code
literally i.g. just copied and
pasted as is.

I can give that a try again
and see.Before though what
kernel parameters/kconfig might I be missing
just to be sure?

Justin P. Mattock

^ permalink raw reply

* Re: ath9k: BUG kmalloc-8192: Poison overwritten
From: Bruno Randolf @ 2010-05-14  6:20 UTC (permalink / raw)
  To: Luis R. Rodriguez
  Cc: Justin P. Mattock, Luis Rodriguez, linux-wireless@vger.kernel.org,
	Linux Kernel Mailing List
In-Reply-To: <AANLkTinE1q2K3j-IwCa3IPzTUChgi9wKTqBrVR1mGlv9@mail.gmail.com>

On Friday 14 May 2010 15:16:22 Luis R. Rodriguez wrote:
> On Thu, May 13, 2010 at 9:44 PM, Justin P. Mattock
> 
> <justinmattock@gmail.com> wrote:
> > On 05/13/10 21:01, Luis R. Rodriguez wrote:
> >> On Thu, May 13, 2010 at 7:14 PM, Justin P. Mattock
> >> 
> >> <justinmattock@gmail.com>  wrote:
> >>> what I can try, is(not at the convention, on eth0
> >>> at the moment), but when I get back to the convention
> >>> center place I can try your patch as well as the
> >>> modprobe option, to see if I can get any signs of
> >>> a recreation(if so I'll bisect there).
> >> 
> >> The debug info I just need upon load of the module, I don't need you
> >> to run the debug stuff to try to reproduce. The debug print upon load
> >> will tell us the rxbuf size and cache line size.
> >> 
> >>   Luis
> > 
> > o.k. it's not pretty due
> > to loads of avc's for SELinux:
> > (I run a rootless system).
> > 
> > [   84.172649] ath9k: Driver unloaded
> > [  100.675300] audit_printk_skb: 6 callbacks suppressed
> > [  100.675306] type=1400 audit(1273811633.675:20): avc:  denied  { search
> > } for  pid=2168 comm="modprobe" name="modules" dev=sda3 ino=2500
> > scontext=name:staff_r:staff_sudo_t:s0
> > tcontext=system_u:object_r:modules_object_t:s0 tclass=dir
> > [  100.675408] type=1400 audit(1273811633.675:20): avc:  denied  { search
> > } for  pid=2168 comm="modprobe" name="2.6.34-rc7-00057-gcdfda35"
> > dev=sda3 ino=524392 scontext=name:staff_r:staff_sudo_t:s0
> > tcontext=name:object_r:modules_object_t:s0 tclass=dir
> > [  100.675552] type=1400 audit(1273811633.675:20): avc:  denied  { read }
> > for  pid=2168 comm="modprobe" name="modules.dep.bin" dev=sda3 ino=525251
> > scontext=name:staff_r:staff_sudo_t:s0
> > tcontext=name:object_r:modules_object_t:s0 tclass=file
> > [  100.675598] type=1400 audit(1273811633.675:20): avc:  denied  { open }
> > for  pid=2168 comm="modprobe" name="modules.dep.bin" dev=sda3 ino=525251
> > scontext=name:staff_r:staff_sudo_t:s0
> > tcontext=name:object_r:modules_object_t:s0 tclass=file
> > [  100.675748] type=1300 audit(1273811633.675:20): arch=c000003e
> > syscall=2 success=yes exit=3 a0=60d140 a1=0 a2=1b6 a3=0 items=0
> > ppid=2080 pid=2168 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0
> > sgid=0 fsgid=0 tty=pts0 ses=1 comm="modprobe" exe="/sbin/modprobe"
> > subj=name:staff_r:staff_sudo_t:s0 key=(null)
> > [  100.675902] type=1400 audit(1273811633.675:21): avc:  denied  {
> > getattr } for  pid=2168 comm="modprobe"
> > path="/lib/modules/2.6.34-rc7-00057-gcdfda35/modules.dep.bin" dev=sda3
> > ino=525251 scontext=name:staff_r:staff_sudo_t:s0
> > tcontext=name:object_r:modules_object_t:s0 tclass=file
> > [  100.676052] type=1300 audit(1273811633.675:21): arch=c000003e
> > syscall=5 success=yes exit=0 a0=3 a1=7fffd2d1dd70 a2=7fffd2d1dd70 a3=0
> > items=0 ppid=2080 pid=2168 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0
> > egid=0 sgid=0 fsgid=0 tty=pts0 ses=1 comm="modprobe"
> > exe="/sbin/modprobe"
> > subj=name:staff_r:staff_sudo_t:s0 key=(null)
> > [  100.698392] ath9k 0000:03:00.0: PCI INT A -> GSI 17 (level, low) ->
> > IRQ 17
> > [  100.698409] ath9k 0000:03:00.0: setting latency timer to 64
> > [  100.828787] ath: EEPROM regdomain: 0x64
> > [  100.828790] ath: EEPROM indicates we should expect a direct regpair
> > map [  100.828793] ath: Country alpha2 being used: 00
> > [  100.828795] ath: Regpair used: 0x64
> > [  100.848609] type=1400 audit(1273811633.678:22): avc:  denied  { search
> > } for  pid=2168 comm="modprobe" name="ieee80211" dev=debugfs ino=18
> > scontext=name:staff_r:staff_sudo_t:s0
> > tcontext=system_u:object_r:debugfs_t:s0 tclass=dir
> > [  100.848788] phy1: Selected rate control algorithm 'ath9k_rate_control'
> > [  100.850035] Registered led device: ath9k-phy1::radio
> > [  100.850488] Registered led device: ath9k-phy1::assoc
> > [  100.851227] Registered led device: ath9k-phy1::tx
> > [  100.851633] Registered led device: ath9k-phy1::rx
> > [  100.851640] phy1: Atheros AR5418 MAC/BB Rev:2 AR5133 RF Rev:81
> > mem=0xffffc900005a0000, irq=17
> > [  100.852240] type=1300 audit(1273811633.678:22): arch=c000003e
> > syscall=175 success=yes exit=0 a0=7f1e9d6ab010 a1=19580 a2=60d920 a3=0
> > items=0 ppid=2080 pid=2168 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0
> > egid=0 sgid=0 fsgid=0 tty=pts0 ses=1 comm="modprobe"
> > exe="/sbin/modprobe"
> > subj=name:staff_r:staff_sudo_t:s0 key=(null)
> > 
> > but there you go dmesg of the debug info for you
> 
> Justin, did you forget to use the debug parameter on modprobe ath9k?
> 
> modprobe ath9k debug=0x0000020
> 
> I do not see the output I expected.

i think you have to do at least "ifconfig wlan0 up" to see it - (at least for 
ath5k).

bruno

^ permalink raw reply

* Architecture for wireless driver development in the Linux environment
From: Madhavi Manchala @ 2010-05-14  6:23 UTC (permalink / raw)
  To: linux-wireless

Dear Experts,

I am new to the wireless driver development in the Linux environment.
I have gone through the http://wireless.kernel.org/ link about the
wireless driver development in the Linux environment. However, I did
not find any architecture or skeleton driver like usb-skeleton.c file
either in the drivers/Documentation or in the mentioned link. I want
to develop a driver for USB WIFI device for x86 architecture. Please
let me where can find the USB WIFI driver development architecture in
the Linux environment.

http://wireless.kernel.org/en/developers/Documentation/cfg80211
What is cfg80211? Are we need to follow this configuration method for
developing the drivers in the Linux environment?

Thanks and Regards,
Madhavi.

^ permalink raw reply

* Re: ath9k: BUG kmalloc-8192: Poison overwritten
From: Justin P. Mattock @ 2010-05-14  6:31 UTC (permalink / raw)
  To: Bruno Randolf
  Cc: Luis R. Rodriguez, Luis Rodriguez, linux-wireless@vger.kernel.org,
	Linux Kernel Mailing List
In-Reply-To: <201005141520.30802.br1@einfach.org>

On 05/13/10 23:20, Bruno Randolf wrote:
> On Friday 14 May 2010 15:16:22 Luis R. Rodriguez wrote:
>> On Thu, May 13, 2010 at 9:44 PM, Justin P. Mattock
>>
>> <justinmattock@gmail.com>  wrote:
>>> On 05/13/10 21:01, Luis R. Rodriguez wrote:
>>>> On Thu, May 13, 2010 at 7:14 PM, Justin P. Mattock
>>>>
>>>> <justinmattock@gmail.com>   wrote:
>>>>> what I can try, is(not at the convention, on eth0
>>>>> at the moment), but when I get back to the convention
>>>>> center place I can try your patch as well as the
>>>>> modprobe option, to see if I can get any signs of
>>>>> a recreation(if so I'll bisect there).
>>>>
>>>> The debug info I just need upon load of the module, I don't need you
>>>> to run the debug stuff to try to reproduce. The debug print upon load
>>>> will tell us the rxbuf size and cache line size.
>>>>
>>>>    Luis
>>>
>>> o.k. it's not pretty due
>>> to loads of avc's for SELinux:
>>> (I run a rootless system).
>>>
>>> [   84.172649] ath9k: Driver unloaded
>>> [  100.675300] audit_printk_skb: 6 callbacks suppressed
>>> [  100.675306] type=1400 audit(1273811633.675:20): avc:  denied  { search
>>> } for  pid=2168 comm="modprobe" name="modules" dev=sda3 ino=2500
>>> scontext=name:staff_r:staff_sudo_t:s0
>>> tcontext=system_u:object_r:modules_object_t:s0 tclass=dir
>>> [  100.675408] type=1400 audit(1273811633.675:20): avc:  denied  { search
>>> } for  pid=2168 comm="modprobe" name="2.6.34-rc7-00057-gcdfda35"
>>> dev=sda3 ino=524392 scontext=name:staff_r:staff_sudo_t:s0
>>> tcontext=name:object_r:modules_object_t:s0 tclass=dir
>>> [  100.675552] type=1400 audit(1273811633.675:20): avc:  denied  { read }
>>> for  pid=2168 comm="modprobe" name="modules.dep.bin" dev=sda3 ino=525251
>>> scontext=name:staff_r:staff_sudo_t:s0
>>> tcontext=name:object_r:modules_object_t:s0 tclass=file
>>> [  100.675598] type=1400 audit(1273811633.675:20): avc:  denied  { open }
>>> for  pid=2168 comm="modprobe" name="modules.dep.bin" dev=sda3 ino=525251
>>> scontext=name:staff_r:staff_sudo_t:s0
>>> tcontext=name:object_r:modules_object_t:s0 tclass=file
>>> [  100.675748] type=1300 audit(1273811633.675:20): arch=c000003e
>>> syscall=2 success=yes exit=3 a0=60d140 a1=0 a2=1b6 a3=0 items=0
>>> ppid=2080 pid=2168 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0
>>> sgid=0 fsgid=0 tty=pts0 ses=1 comm="modprobe" exe="/sbin/modprobe"
>>> subj=name:staff_r:staff_sudo_t:s0 key=(null)
>>> [  100.675902] type=1400 audit(1273811633.675:21): avc:  denied  {
>>> getattr } for  pid=2168 comm="modprobe"
>>> path="/lib/modules/2.6.34-rc7-00057-gcdfda35/modules.dep.bin" dev=sda3
>>> ino=525251 scontext=name:staff_r:staff_sudo_t:s0
>>> tcontext=name:object_r:modules_object_t:s0 tclass=file
>>> [  100.676052] type=1300 audit(1273811633.675:21): arch=c000003e
>>> syscall=5 success=yes exit=0 a0=3 a1=7fffd2d1dd70 a2=7fffd2d1dd70 a3=0
>>> items=0 ppid=2080 pid=2168 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0
>>> egid=0 sgid=0 fsgid=0 tty=pts0 ses=1 comm="modprobe"
>>> exe="/sbin/modprobe"
>>> subj=name:staff_r:staff_sudo_t:s0 key=(null)
>>> [  100.698392] ath9k 0000:03:00.0: PCI INT A ->  GSI 17 (level, low) ->
>>> IRQ 17
>>> [  100.698409] ath9k 0000:03:00.0: setting latency timer to 64
>>> [  100.828787] ath: EEPROM regdomain: 0x64
>>> [  100.828790] ath: EEPROM indicates we should expect a direct regpair
>>> map [  100.828793] ath: Country alpha2 being used: 00
>>> [  100.828795] ath: Regpair used: 0x64
>>> [  100.848609] type=1400 audit(1273811633.678:22): avc:  denied  { search
>>> } for  pid=2168 comm="modprobe" name="ieee80211" dev=debugfs ino=18
>>> scontext=name:staff_r:staff_sudo_t:s0
>>> tcontext=system_u:object_r:debugfs_t:s0 tclass=dir
>>> [  100.848788] phy1: Selected rate control algorithm 'ath9k_rate_control'
>>> [  100.850035] Registered led device: ath9k-phy1::radio
>>> [  100.850488] Registered led device: ath9k-phy1::assoc
>>> [  100.851227] Registered led device: ath9k-phy1::tx
>>> [  100.851633] Registered led device: ath9k-phy1::rx
>>> [  100.851640] phy1: Atheros AR5418 MAC/BB Rev:2 AR5133 RF Rev:81
>>> mem=0xffffc900005a0000, irq=17
>>> [  100.852240] type=1300 audit(1273811633.678:22): arch=c000003e
>>> syscall=175 success=yes exit=0 a0=7f1e9d6ab010 a1=19580 a2=60d920 a3=0
>>> items=0 ppid=2080 pid=2168 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0
>>> egid=0 sgid=0 fsgid=0 tty=pts0 ses=1 comm="modprobe"
>>> exe="/sbin/modprobe"
>>> subj=name:staff_r:staff_sudo_t:s0 key=(null)
>>>
>>> but there you go dmesg of the debug info for you
>>
>> Justin, did you forget to use the debug parameter on modprobe ath9k?
>>
>> modprobe ath9k debug=0x0000020
>>
>> I do not see the output I expected.
>
> i think you have to do at least "ifconfig wlan0 up" to see it - (at least for
> ath5k).
>
> bruno
>

didn't think todo so, I'll redu
again and see. BTW: the connection
over here is dodgy(hotel) should I at-least
find a stable access point? i.g. convetion
center seemed semi somewhat there

Justin P. Mattock

^ permalink raw reply

* Re: ath9k: BUG kmalloc-8192: Poison overwritten
From: Luis R. Rodriguez @ 2010-05-14  6:36 UTC (permalink / raw)
  To: Justin P. Mattock
  Cc: Bruno Randolf, Luis Rodriguez, linux-wireless@vger.kernel.org,
	Linux Kernel Mailing List
In-Reply-To: <4BECEE3E.6090303@gmail.com>

On Thu, May 13, 2010 at 11:31 PM, Justin P. Mattock
<justinmattock@gmail.com> wrote:
> On 05/13/10 23:20, Bruno Randolf wrote:
>>
>> On Friday 14 May 2010 15:16:22 Luis R. Rodriguez wrote:
>>>
>>> On Thu, May 13, 2010 at 9:44 PM, Justin P. Mattock
>>>
>>> <justinmattock@gmail.com>  wrote:
>>>>
>>>> On 05/13/10 21:01, Luis R. Rodriguez wrote:
>>>>>
>>>>> On Thu, May 13, 2010 at 7:14 PM, Justin P. Mattock
>>>>>
>>>>> <justinmattock@gmail.com>   wrote:
>>>>>>
>>>>>> what I can try, is(not at the convention, on eth0
>>>>>> at the moment), but when I get back to the convention
>>>>>> center place I can try your patch as well as the
>>>>>> modprobe option, to see if I can get any signs of
>>>>>> a recreation(if so I'll bisect there).
>>>>>
>>>>> The debug info I just need upon load of the module, I don't need you
>>>>> to run the debug stuff to try to reproduce. The debug print upon load
>>>>> will tell us the rxbuf size and cache line size.
>>>>>
>>>>>   Luis
>>>>
>>>> o.k. it's not pretty due
>>>> to loads of avc's for SELinux:
>>>> (I run a rootless system).
>>>>
>>>> [   84.172649] ath9k: Driver unloaded
>>>> [  100.675300] audit_printk_skb: 6 callbacks suppressed
>>>> [  100.675306] type=1400 audit(1273811633.675:20): avc:  denied  {
>>>> search
>>>> } for  pid=2168 comm="modprobe" name="modules" dev=sda3 ino=2500
>>>> scontext=name:staff_r:staff_sudo_t:s0
>>>> tcontext=system_u:object_r:modules_object_t:s0 tclass=dir
>>>> [  100.675408] type=1400 audit(1273811633.675:20): avc:  denied  {
>>>> search
>>>> } for  pid=2168 comm="modprobe" name="2.6.34-rc7-00057-gcdfda35"
>>>> dev=sda3 ino=524392 scontext=name:staff_r:staff_sudo_t:s0
>>>> tcontext=name:object_r:modules_object_t:s0 tclass=dir
>>>> [  100.675552] type=1400 audit(1273811633.675:20): avc:  denied  { read
>>>> }
>>>> for  pid=2168 comm="modprobe" name="modules.dep.bin" dev=sda3 ino=525251
>>>> scontext=name:staff_r:staff_sudo_t:s0
>>>> tcontext=name:object_r:modules_object_t:s0 tclass=file
>>>> [  100.675598] type=1400 audit(1273811633.675:20): avc:  denied  { open
>>>> }
>>>> for  pid=2168 comm="modprobe" name="modules.dep.bin" dev=sda3 ino=525251
>>>> scontext=name:staff_r:staff_sudo_t:s0
>>>> tcontext=name:object_r:modules_object_t:s0 tclass=file
>>>> [  100.675748] type=1300 audit(1273811633.675:20): arch=c000003e
>>>> syscall=2 success=yes exit=3 a0=60d140 a1=0 a2=1b6 a3=0 items=0
>>>> ppid=2080 pid=2168 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0
>>>> sgid=0 fsgid=0 tty=pts0 ses=1 comm="modprobe" exe="/sbin/modprobe"
>>>> subj=name:staff_r:staff_sudo_t:s0 key=(null)
>>>> [  100.675902] type=1400 audit(1273811633.675:21): avc:  denied  {
>>>> getattr } for  pid=2168 comm="modprobe"
>>>> path="/lib/modules/2.6.34-rc7-00057-gcdfda35/modules.dep.bin" dev=sda3
>>>> ino=525251 scontext=name:staff_r:staff_sudo_t:s0
>>>> tcontext=name:object_r:modules_object_t:s0 tclass=file
>>>> [  100.676052] type=1300 audit(1273811633.675:21): arch=c000003e
>>>> syscall=5 success=yes exit=0 a0=3 a1=7fffd2d1dd70 a2=7fffd2d1dd70 a3=0
>>>> items=0 ppid=2080 pid=2168 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0
>>>> egid=0 sgid=0 fsgid=0 tty=pts0 ses=1 comm="modprobe"
>>>> exe="/sbin/modprobe"
>>>> subj=name:staff_r:staff_sudo_t:s0 key=(null)
>>>> [  100.698392] ath9k 0000:03:00.0: PCI INT A ->  GSI 17 (level, low) ->
>>>> IRQ 17
>>>> [  100.698409] ath9k 0000:03:00.0: setting latency timer to 64
>>>> [  100.828787] ath: EEPROM regdomain: 0x64
>>>> [  100.828790] ath: EEPROM indicates we should expect a direct regpair
>>>> map [  100.828793] ath: Country alpha2 being used: 00
>>>> [  100.828795] ath: Regpair used: 0x64
>>>> [  100.848609] type=1400 audit(1273811633.678:22): avc:  denied  {
>>>> search
>>>> } for  pid=2168 comm="modprobe" name="ieee80211" dev=debugfs ino=18
>>>> scontext=name:staff_r:staff_sudo_t:s0
>>>> tcontext=system_u:object_r:debugfs_t:s0 tclass=dir
>>>> [  100.848788] phy1: Selected rate control algorithm
>>>> 'ath9k_rate_control'
>>>> [  100.850035] Registered led device: ath9k-phy1::radio
>>>> [  100.850488] Registered led device: ath9k-phy1::assoc
>>>> [  100.851227] Registered led device: ath9k-phy1::tx
>>>> [  100.851633] Registered led device: ath9k-phy1::rx
>>>> [  100.851640] phy1: Atheros AR5418 MAC/BB Rev:2 AR5133 RF Rev:81
>>>> mem=0xffffc900005a0000, irq=17
>>>> [  100.852240] type=1300 audit(1273811633.678:22): arch=c000003e
>>>> syscall=175 success=yes exit=0 a0=7f1e9d6ab010 a1=19580 a2=60d920 a3=0
>>>> items=0 ppid=2080 pid=2168 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0
>>>> egid=0 sgid=0 fsgid=0 tty=pts0 ses=1 comm="modprobe"
>>>> exe="/sbin/modprobe"
>>>> subj=name:staff_r:staff_sudo_t:s0 key=(null)
>>>>
>>>> but there you go dmesg of the debug info for you
>>>
>>> Justin, did you forget to use the debug parameter on modprobe ath9k?
>>>
>>> modprobe ath9k debug=0x0000020
>>>
>>> I do not see the output I expected.
>>
>> i think you have to do at least "ifconfig wlan0 up" to see it - (at least
>> for
>> ath5k).
>>
>> bruno
>>
>
> didn't think todo so, I'll redu
> again and see. BTW: the connection
> over here is dodgy(hotel) should I at-least
> find a stable access point?

Up to you, just need that print line.

             ath_print(common, ATH_DBG_CONFIG, "cachelsz %u rxbufsize %u\n",
                               common->cachelsz, common->rx_bufsize);

  Luis

^ permalink raw reply

* Re: ath9k: BUG kmalloc-8192: Poison overwritten
From: Bruno Randolf @ 2010-05-14  6:38 UTC (permalink / raw)
  To: Justin P. Mattock
  Cc: Luis R. Rodriguez, Luis Rodriguez, linux-wireless@vger.kernel.org,
	Linux Kernel Mailing List
In-Reply-To: <4BECEE3E.6090303@gmail.com>

On Friday 14 May 2010 15:31:26 Justin P. Mattock wrote:
> On 05/13/10 23:20, Bruno Randolf wrote:
> > On Friday 14 May 2010 15:16:22 Luis R. Rodriguez wrote:
> >> On Thu, May 13, 2010 at 9:44 PM, Justin P. Mattock
> >> 
> >> <justinmattock@gmail.com>  wrote:
> >>> On 05/13/10 21:01, Luis R. Rodriguez wrote:
> >>>> On Thu, May 13, 2010 at 7:14 PM, Justin P. Mattock
> >>>> 
> >>>> <justinmattock@gmail.com>   wrote:
> >>>>> what I can try, is(not at the convention, on eth0
> >>>>> at the moment), but when I get back to the convention
> >>>>> center place I can try your patch as well as the
> >>>>> modprobe option, to see if I can get any signs of
> >>>>> a recreation(if so I'll bisect there).
> >>>> 
> >>>> The debug info I just need upon load of the module, I don't need you
> >>>> to run the debug stuff to try to reproduce. The debug print upon load
> >>>> will tell us the rxbuf size and cache line size.
> >>>> 
> >>>>    Luis
> >>> 
> >>> o.k. it's not pretty due
> >>> to loads of avc's for SELinux:
> >>> (I run a rootless system).
> >>> 
> >>> [   84.172649] ath9k: Driver unloaded
> >>> [  100.675300] audit_printk_skb: 6 callbacks suppressed
> >>> [  100.675306] type=1400 audit(1273811633.675:20): avc:  denied  {
> >>> search } for  pid=2168 comm="modprobe" name="modules" dev=sda3
> >>> ino=2500 scontext=name:staff_r:staff_sudo_t:s0
> >>> tcontext=system_u:object_r:modules_object_t:s0 tclass=dir
> >>> [  100.675408] type=1400 audit(1273811633.675:20): avc:  denied  {
> >>> search } for  pid=2168 comm="modprobe"
> >>> name="2.6.34-rc7-00057-gcdfda35" dev=sda3 ino=524392
> >>> scontext=name:staff_r:staff_sudo_t:s0
> >>> tcontext=name:object_r:modules_object_t:s0 tclass=dir
> >>> [  100.675552] type=1400 audit(1273811633.675:20): avc:  denied  { read
> >>> } for  pid=2168 comm="modprobe" name="modules.dep.bin" dev=sda3
> >>> ino=525251 scontext=name:staff_r:staff_sudo_t:s0
> >>> tcontext=name:object_r:modules_object_t:s0 tclass=file
> >>> [  100.675598] type=1400 audit(1273811633.675:20): avc:  denied  { open
> >>> } for  pid=2168 comm="modprobe" name="modules.dep.bin" dev=sda3
> >>> ino=525251 scontext=name:staff_r:staff_sudo_t:s0
> >>> tcontext=name:object_r:modules_object_t:s0 tclass=file
> >>> [  100.675748] type=1300 audit(1273811633.675:20): arch=c000003e
> >>> syscall=2 success=yes exit=3 a0=60d140 a1=0 a2=1b6 a3=0 items=0
> >>> ppid=2080 pid=2168 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0
> >>> sgid=0 fsgid=0 tty=pts0 ses=1 comm="modprobe" exe="/sbin/modprobe"
> >>> subj=name:staff_r:staff_sudo_t:s0 key=(null)
> >>> [  100.675902] type=1400 audit(1273811633.675:21): avc:  denied  {
> >>> getattr } for  pid=2168 comm="modprobe"
> >>> path="/lib/modules/2.6.34-rc7-00057-gcdfda35/modules.dep.bin" dev=sda3
> >>> ino=525251 scontext=name:staff_r:staff_sudo_t:s0
> >>> tcontext=name:object_r:modules_object_t:s0 tclass=file
> >>> [  100.676052] type=1300 audit(1273811633.675:21): arch=c000003e
> >>> syscall=5 success=yes exit=0 a0=3 a1=7fffd2d1dd70 a2=7fffd2d1dd70 a3=0
> >>> items=0 ppid=2080 pid=2168 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0
> >>> egid=0 sgid=0 fsgid=0 tty=pts0 ses=1 comm="modprobe"
> >>> exe="/sbin/modprobe"
> >>> subj=name:staff_r:staff_sudo_t:s0 key=(null)
> >>> [  100.698392] ath9k 0000:03:00.0: PCI INT A ->  GSI 17 (level, low) ->
> >>> IRQ 17
> >>> [  100.698409] ath9k 0000:03:00.0: setting latency timer to 64
> >>> [  100.828787] ath: EEPROM regdomain: 0x64
> >>> [  100.828790] ath: EEPROM indicates we should expect a direct regpair
> >>> map [  100.828793] ath: Country alpha2 being used: 00
> >>> [  100.828795] ath: Regpair used: 0x64
> >>> [  100.848609] type=1400 audit(1273811633.678:22): avc:  denied  {
> >>> search } for  pid=2168 comm="modprobe" name="ieee80211" dev=debugfs
> >>> ino=18 scontext=name:staff_r:staff_sudo_t:s0
> >>> tcontext=system_u:object_r:debugfs_t:s0 tclass=dir
> >>> [  100.848788] phy1: Selected rate control algorithm
> >>> 'ath9k_rate_control' [  100.850035] Registered led device:
> >>> ath9k-phy1::radio
> >>> [  100.850488] Registered led device: ath9k-phy1::assoc
> >>> [  100.851227] Registered led device: ath9k-phy1::tx
> >>> [  100.851633] Registered led device: ath9k-phy1::rx
> >>> [  100.851640] phy1: Atheros AR5418 MAC/BB Rev:2 AR5133 RF Rev:81
> >>> mem=0xffffc900005a0000, irq=17
> >>> [  100.852240] type=1300 audit(1273811633.678:22): arch=c000003e
> >>> syscall=175 success=yes exit=0 a0=7f1e9d6ab010 a1=19580 a2=60d920 a3=0
> >>> items=0 ppid=2080 pid=2168 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0
> >>> egid=0 sgid=0 fsgid=0 tty=pts0 ses=1 comm="modprobe"
> >>> exe="/sbin/modprobe"
> >>> subj=name:staff_r:staff_sudo_t:s0 key=(null)
> >>> 
> >>> but there you go dmesg of the debug info for you
> >> 
> >> Justin, did you forget to use the debug parameter on modprobe ath9k?
> >> 
> >> modprobe ath9k debug=0x0000020
> >> 
> >> I do not see the output I expected.
> > 
> > i think you have to do at least "ifconfig wlan0 up" to see it - (at least
> > for ath5k).
> > 
> > bruno
> 
> didn't think todo so, I'll redu
> again and see. BTW: the connection
> over here is dodgy(hotel) should I at-least
> find a stable access point? i.g. convetion
> center seemed semi somewhat there

no that does not matter. just ifconfig up is enough. it's just initialization, 
you don't need a connection for that.

bruno

> Justin P. Mattock
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless"
> in the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox