* [PATCH 2/2] mac80211: give warning if building w/out rate ctrl algorithm
@ 2010-02-08 2:48 Andres Salomon
2010-02-08 9:06 ` Johannes Berg
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Andres Salomon @ 2010-02-08 2:48 UTC (permalink / raw)
To: linux-wireless; +Cc: Johannes Berg, akpm
I discovered that if EMBEDDED=y, one can accidentally build a mac80211 stack
w/ no rate control algorithm. When RC_MINISTREL and RC_PID are both disabled,
the RC_DEFAULT string (which rate.c uses as the fallback algorithm) will be
"". That'll cause the rate_control_alloc to fail, which will in turn cause
ieee80211_register_hw to fail. IOW, no driver will load.
This will tell kconfig to provide a warning if no rate control algorithms
have been selected. That'll at least warn the user that they're about to
build a broken wireless stack.
Signed-off-by: Andres Salomon <dilinger@collabora.co.uk>
---
net/mac80211/Kconfig | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/net/mac80211/Kconfig b/net/mac80211/Kconfig
index a10d508..1f0ebab 100644
--- a/net/mac80211/Kconfig
+++ b/net/mac80211/Kconfig
@@ -15,8 +15,12 @@ comment "CFG80211 needs to be enabled for MAC80211"
if MAC80211 != n
+config MAC80211_HAS_RC
+ def_bool n
+
config MAC80211_RC_PID
bool "PID controller based rate control algorithm" if EMBEDDED
+ select MAC80211_HAS_RC
---help---
This option enables a TX rate control algorithm for
mac80211 that uses a PID controller to select the TX
@@ -24,12 +28,14 @@ config MAC80211_RC_PID
config MAC80211_RC_MINSTREL
bool "Minstrel" if EMBEDDED
+ select MAC80211_HAS_RC
default y
---help---
This option enables the 'minstrel' TX rate control algorithm
choice
prompt "Default rate control algorithm"
+ depends on MAC80211_HAS_RC
default MAC80211_RC_DEFAULT_MINSTREL
---help---
This option selects the default rate control algorithm
@@ -62,6 +68,9 @@ config MAC80211_RC_DEFAULT
endif
+comment "mac80211 will not work properly w/out rate control algorithm"
+ depends on MAC80211_HAS_RC=n
+
config MAC80211_MESH
bool "Enable mac80211 mesh networking (pre-802.11s) support"
depends on MAC80211 && EXPERIMENTAL
--
1.5.6.5
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH 2/2] mac80211: give warning if building w/out rate ctrl algorithm
2010-02-08 2:48 [PATCH 2/2] mac80211: give warning if building w/out rate ctrl algorithm Andres Salomon
@ 2010-02-08 9:06 ` Johannes Berg
2010-02-08 17:07 ` Andres Salomon
2010-02-08 9:23 ` Kalle Valo
2010-02-08 18:32 ` Luis R. Rodriguez
2 siblings, 1 reply; 10+ messages in thread
From: Johannes Berg @ 2010-02-08 9:06 UTC (permalink / raw)
To: Andres Salomon; +Cc: linux-wireless, akpm
[-- Attachment #1: Type: text/plain, Size: 937 bytes --]
On Sun, 2010-02-07 at 21:48 -0500, Andres Salomon wrote:
> I discovered that if EMBEDDED=y, one can accidentally build a mac80211 stack
> w/ no rate control algorithm. When RC_MINISTREL and RC_PID are both disabled,
> the RC_DEFAULT string (which rate.c uses as the fallback algorithm) will be
> "". That'll cause the rate_control_alloc to fail, which will in turn cause
> ieee80211_register_hw to fail. IOW, no driver will load.
>
> This will tell kconfig to provide a warning if no rate control algorithms
> have been selected. That'll at least warn the user that they're about to
> build a broken wireless stack.
> +comment "mac80211 will not work properly w/out rate control algorithm"
> + depends on MAC80211_HAS_RC=n
Except that isn't true for hardware that doesn't require an algorithm,
or drivers that provide it themselves, like iwlagn or ath9k. I would
prefer it to be worded accordingly.
johannes
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 801 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] mac80211: give warning if building w/out rate ctrl algorithm
2010-02-08 9:06 ` Johannes Berg
@ 2010-02-08 17:07 ` Andres Salomon
2010-02-09 8:00 ` Johannes Berg
0 siblings, 1 reply; 10+ messages in thread
From: Andres Salomon @ 2010-02-08 17:07 UTC (permalink / raw)
To: Johannes Berg; +Cc: linux-wireless, akpm
[-- Attachment #1: Type: text/plain, Size: 1272 bytes --]
On Mon, 08 Feb 2010 10:06:33 +0100
Johannes Berg <johannes@sipsolutions.net> wrote:
> On Sun, 2010-02-07 at 21:48 -0500, Andres Salomon wrote:
> > I discovered that if EMBEDDED=y, one can accidentally build a
> > mac80211 stack w/ no rate control algorithm. When RC_MINISTREL and
> > RC_PID are both disabled, the RC_DEFAULT string (which rate.c uses
> > as the fallback algorithm) will be "". That'll cause the
> > rate_control_alloc to fail, which will in turn cause
> > ieee80211_register_hw to fail. IOW, no driver will load.
> >
> > This will tell kconfig to provide a warning if no rate control
> > algorithms have been selected. That'll at least warn the user that
> > they're about to build a broken wireless stack.
>
>
> > +comment "mac80211 will not work properly w/out rate control
> > algorithm"
> > + depends on MAC80211_HAS_RC=n
>
> Except that isn't true for hardware that doesn't require an algorithm,
> or drivers that provide it themselves, like iwlagn or ath9k. I would
> prefer it to be worded accordingly.
>
Noted. I was wondering if there were any.
How about having drivers that need them depend upon MAC80211_HAS_RC or
some such, and having the text say something like "most drivers require
rate control"?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] mac80211: give warning if building w/out rate ctrl algorithm
2010-02-08 17:07 ` Andres Salomon
@ 2010-02-09 8:00 ` Johannes Berg
0 siblings, 0 replies; 10+ messages in thread
From: Johannes Berg @ 2010-02-09 8:00 UTC (permalink / raw)
To: Andres Salomon; +Cc: linux-wireless, akpm
[-- Attachment #1: Type: text/plain, Size: 898 bytes --]
On Mon, 2010-02-08 at 12:07 -0500, Andres Salomon wrote:
> > > +comment "mac80211 will not work properly w/out rate control
> > > algorithm"
> > > + depends on MAC80211_HAS_RC=n
> >
> > Except that isn't true for hardware that doesn't require an algorithm,
> > or drivers that provide it themselves, like iwlagn or ath9k. I would
> > prefer it to be worded accordingly.
> >
>
> Noted. I was wondering if there were any.
>
> How about having drivers that need them depend upon MAC80211_HAS_RC or
> some such, and having the text say something like "most drivers require
> rate control"?
I guess that might make sense in that if you have any driver that needs
it, it'd remind you to select one. I'd be happy with that if you want to
do it, but that means touching all the driver Kconfig. Alternatively,
I'd just reword the warning to include that possibility.
johannes
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 801 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] mac80211: give warning if building w/out rate ctrl algorithm
2010-02-08 2:48 [PATCH 2/2] mac80211: give warning if building w/out rate ctrl algorithm Andres Salomon
2010-02-08 9:06 ` Johannes Berg
@ 2010-02-08 9:23 ` Kalle Valo
2010-02-08 9:27 ` Gábor Stefanik
2010-02-08 18:32 ` Luis R. Rodriguez
2 siblings, 1 reply; 10+ messages in thread
From: Kalle Valo @ 2010-02-08 9:23 UTC (permalink / raw)
To: Andres Salomon; +Cc: linux-wireless, Johannes Berg, akpm
Andres Salomon <dilinger@collabora.co.uk> writes:
> I discovered that if EMBEDDED=y, one can accidentally build a
> mac80211 stack w/ no rate control algorithm. When RC_MINISTREL and
> RC_PID are both disabled, the RC_DEFAULT string (which rate.c uses
> as the fallback algorithm) will be "". That'll cause the
> rate_control_alloc to fail, which will in turn cause
> ieee80211_register_hw to fail. IOW, no driver will load.
There are devices that don't need rate control algorithm, for example
wl1271 (see IEEE80211_HW_HAS_RATE_CONTROL). A better solution is
instead to fix rate_control_alloc() to handle this, or something
similar.
--
Kalle Valo
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] mac80211: give warning if building w/out rate ctrl algorithm
2010-02-08 9:23 ` Kalle Valo
@ 2010-02-08 9:27 ` Gábor Stefanik
0 siblings, 0 replies; 10+ messages in thread
From: Gábor Stefanik @ 2010-02-08 9:27 UTC (permalink / raw)
To: Kalle Valo; +Cc: Andres Salomon, linux-wireless, Johannes Berg, akpm
On Mon, Feb 8, 2010 at 10:23 AM, Kalle Valo <kalle.valo@iki.fi> wrote:
> Andres Salomon <dilinger@collabora.co.uk> writes:
>
>> I discovered that if EMBEDDED=y, one can accidentally build a
>> mac80211 stack w/ no rate control algorithm. When RC_MINISTREL and
>> RC_PID are both disabled, the RC_DEFAULT string (which rate.c uses
>> as the fallback algorithm) will be "". That'll cause the
>> rate_control_alloc to fail, which will in turn cause
>> ieee80211_register_hw to fail. IOW, no driver will load.
>
> There are devices that don't need rate control algorithm, for example
> wl1271 (see IEEE80211_HW_HAS_RATE_CONTROL). A better solution is
> instead to fix rate_control_alloc() to handle this, or something
> similar.
>
> --
> Kalle Valo
> --
> 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
>
There is also iwlwifi (and ath9k) which use their own RC algorithms.
AFAIK they need no external RC algo either.
--
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] mac80211: give warning if building w/out rate ctrl algorithm
2010-02-08 2:48 [PATCH 2/2] mac80211: give warning if building w/out rate ctrl algorithm Andres Salomon
2010-02-08 9:06 ` Johannes Berg
2010-02-08 9:23 ` Kalle Valo
@ 2010-02-08 18:32 ` Luis R. Rodriguez
2010-02-14 23:18 ` Andres Salomon
2 siblings, 1 reply; 10+ messages in thread
From: Luis R. Rodriguez @ 2010-02-08 18:32 UTC (permalink / raw)
To: Andres Salomon; +Cc: linux-wireless, Johannes Berg, akpm
On Sun, Feb 7, 2010 at 6:48 PM, Andres Salomon <dilinger@collabora.co.uk> wrote:
>
> I discovered that if EMBEDDED=y, one can accidentally build a mac80211 stack
> w/ no rate control algorithm. When RC_MINISTREL and RC_PID are both disabled,
> the RC_DEFAULT string (which rate.c uses as the fallback algorithm) will be
> "". That'll cause the rate_control_alloc to fail, which will in turn cause
> ieee80211_register_hw to fail. IOW, no driver will load.
>
> This will tell kconfig to provide a warning if no rate control algorithms
> have been selected. That'll at least warn the user that they're about to
> build a broken wireless stack.
Please Cc: stable@kernel.org here as well, I think we've had this for a while.
> Signed-off-by: Andres Salomon <dilinger@collabora.co.uk>
Luis
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] mac80211: give warning if building w/out rate ctrl algorithm
2010-02-08 18:32 ` Luis R. Rodriguez
@ 2010-02-14 23:18 ` Andres Salomon
2010-02-16 20:05 ` Luis R. Rodriguez
0 siblings, 1 reply; 10+ messages in thread
From: Andres Salomon @ 2010-02-14 23:18 UTC (permalink / raw)
To: linux-wireless; +Cc: stable, Johannes Berg, akpm
On Mon, 8 Feb 2010 10:32:50 -0800
"Luis R. Rodriguez" <mcgrof@gmail.com> wrote:
> On Sun, Feb 7, 2010 at 6:48 PM, Andres Salomon
> <dilinger@collabora.co.uk> wrote:
> >
> > I discovered that if EMBEDDED=y, one can accidentally build a
> > mac80211 stack w/ no rate control algorithm. When RC_MINISTREL and
> > RC_PID are both disabled, the RC_DEFAULT string (which rate.c uses
> > as the fallback algorithm) will be "". That'll cause the
> > rate_control_alloc to fail, which will in turn cause
> > ieee80211_register_hw to fail. IOW, no driver will load.
> >
> > This will tell kconfig to provide a warning if no rate control
> > algorithms have been selected. That'll at least warn the user that
> > they're about to build a broken wireless stack.
>
>
> Please Cc: stable@kernel.org here as well, I think we've had this for
> a while.
>
> > Signed-off-by: Andres Salomon <dilinger@collabora.co.uk>
>
> Luis
Here's an updated patch. I ended up just changing the wording.
Subject: [PATCH] mac80211: give warning if building w/out rate ctrl algorithm
I discovered that if EMBEDDED=y, one can accidentally build a mac80211 stack
and drivers w/ no rate control algorithm. For drivers like RTL8187 that don't
supply their own RC algorithms, this will cause ieee80211_register_hw to
fail (making the driver unusable).
This will tell kconfig to provide a warning if no rate control algorithms
have been selected. That'll at least warn the user; users that know that
their drivers supply a rate control algorithm can safely ignore the
warning, and those who don't know (or who expect to be using multiple
drivers) can select a default RC algorithm.
Signed-off-by: Andres Salomon <dilinger@collabora.co.uk>
---
net/mac80211/Kconfig | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/net/mac80211/Kconfig b/net/mac80211/Kconfig
index a10d508..2a51b0b 100644
--- a/net/mac80211/Kconfig
+++ b/net/mac80211/Kconfig
@@ -15,8 +15,12 @@ comment "CFG80211 needs to be enabled for MAC80211"
if MAC80211 != n
+config MAC80211_HAS_RC
+ def_bool n
+
config MAC80211_RC_PID
bool "PID controller based rate control algorithm" if EMBEDDED
+ select MAC80211_HAS_RC
---help---
This option enables a TX rate control algorithm for
mac80211 that uses a PID controller to select the TX
@@ -24,12 +28,14 @@ config MAC80211_RC_PID
config MAC80211_RC_MINSTREL
bool "Minstrel" if EMBEDDED
+ select MAC80211_HAS_RC
default y
---help---
This option enables the 'minstrel' TX rate control algorithm
choice
prompt "Default rate control algorithm"
+ depends on MAC80211_HAS_RC
default MAC80211_RC_DEFAULT_MINSTREL
---help---
This option selects the default rate control algorithm
@@ -62,6 +68,9 @@ config MAC80211_RC_DEFAULT
endif
+comment "some wireless drivers require a rate control algorithm"
+ depends on MAC80211_HAS_RC=n
+
config MAC80211_MESH
bool "Enable mac80211 mesh networking (pre-802.11s) support"
depends on MAC80211 && EXPERIMENTAL
--
1.5.6.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] mac80211: give warning if building w/out rate ctrl algorithm
2010-02-14 23:18 ` Andres Salomon
@ 2010-02-16 20:05 ` Luis R. Rodriguez
2010-02-16 20:07 ` John W. Linville
0 siblings, 1 reply; 10+ messages in thread
From: Luis R. Rodriguez @ 2010-02-16 20:05 UTC (permalink / raw)
To: Andres Salomon; +Cc: linux-wireless, stable, Johannes Berg, akpm
On Sun, Feb 14, 2010 at 3:18 PM, Andres Salomon
<dilinger@collabora.co.uk> wrote:
> On Mon, 8 Feb 2010 10:32:50 -0800
> "Luis R. Rodriguez" <mcgrof@gmail.com> wrote:
>
>> On Sun, Feb 7, 2010 at 6:48 PM, Andres Salomon
>> <dilinger@collabora.co.uk> wrote:
>> >
>> > I discovered that if EMBEDDED=y, one can accidentally build a
>> > mac80211 stack w/ no rate control algorithm. When RC_MINISTREL and
>> > RC_PID are both disabled, the RC_DEFAULT string (which rate.c uses
>> > as the fallback algorithm) will be "". That'll cause the
>> > rate_control_alloc to fail, which will in turn cause
>> > ieee80211_register_hw to fail. IOW, no driver will load.
>> >
>> > This will tell kconfig to provide a warning if no rate control
>> > algorithms have been selected. That'll at least warn the user that
>> > they're about to build a broken wireless stack.
>>
>>
>> Please Cc: stable@kernel.org here as well, I think we've had this for
>> a while.
>>
>> > Signed-off-by: Andres Salomon <dilinger@collabora.co.uk>
>>
>> Luis
>
> Here's an updated patch. I ended up just changing the wording.
>
>
>
>
> Subject: [PATCH] mac80211: give warning if building w/out rate ctrl algorithm
>
> I discovered that if EMBEDDED=y, one can accidentally build a mac80211 stack
> and drivers w/ no rate control algorithm. For drivers like RTL8187 that don't
> supply their own RC algorithms, this will cause ieee80211_register_hw to
> fail (making the driver unusable).
>
> This will tell kconfig to provide a warning if no rate control algorithms
> have been selected. That'll at least warn the user; users that know that
> their drivers supply a rate control algorithm can safely ignore the
> warning, and those who don't know (or who expect to be using multiple
> drivers) can select a default RC algorithm.
>
> Signed-off-by: Andres Salomon <dilinger@collabora.co.uk>
You want to add Cc: stable@kernel.org on the commit log, not on the e-mail.
Luis
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] mac80211: give warning if building w/out rate ctrl algorithm
2010-02-16 20:05 ` Luis R. Rodriguez
@ 2010-02-16 20:07 ` John W. Linville
0 siblings, 0 replies; 10+ messages in thread
From: John W. Linville @ 2010-02-16 20:07 UTC (permalink / raw)
To: Luis R. Rodriguez
Cc: Andres Salomon, linux-wireless, stable, Johannes Berg, akpm
On Tue, Feb 16, 2010 at 12:05:25PM -0800, Luis R. Rodriguez wrote:
> On Sun, Feb 14, 2010 at 3:18 PM, Andres Salomon
> <dilinger@collabora.co.uk> wrote:
> > On Mon, 8 Feb 2010 10:32:50 -0800
> > "Luis R. Rodriguez" <mcgrof@gmail.com> wrote:
> >
> >> On Sun, Feb 7, 2010 at 6:48 PM, Andres Salomon
> >> <dilinger@collabora.co.uk> wrote:
> >> >
> >> > I discovered that if EMBEDDED=y, one can accidentally build a
> >> > mac80211 stack w/ no rate control algorithm. When RC_MINISTREL and
> >> > RC_PID are both disabled, the RC_DEFAULT string (which rate.c uses
> >> > as the fallback algorithm) will be "". That'll cause the
> >> > rate_control_alloc to fail, which will in turn cause
> >> > ieee80211_register_hw to fail. IOW, no driver will load.
> >> >
> >> > This will tell kconfig to provide a warning if no rate control
> >> > algorithms have been selected. That'll at least warn the user that
> >> > they're about to build a broken wireless stack.
> >>
> >>
> >> Please Cc: stable@kernel.org here as well, I think we've had this for
> >> a while.
> >>
> >> > Signed-off-by: Andres Salomon <dilinger@collabora.co.uk>
> >>
> >> Luis
> >
> > Here's an updated patch. I ended up just changing the wording.
> >
> >
> >
> >
> > Subject: [PATCH] mac80211: give warning if building w/out rate ctrl algorithm
> >
> > I discovered that if EMBEDDED=y, one can accidentally build a mac80211 stack
> > and drivers w/ no rate control algorithm. For drivers like RTL8187 that don't
> > supply their own RC algorithms, this will cause ieee80211_register_hw to
> > fail (making the driver unusable).
> >
> > This will tell kconfig to provide a warning if no rate control algorithms
> > have been selected. That'll at least warn the user; users that know that
> > their drivers supply a rate control algorithm can safely ignore the
> > warning, and those who don't know (or who expect to be using multiple
> > drivers) can select a default RC algorithm.
> >
> > Signed-off-by: Andres Salomon <dilinger@collabora.co.uk>
>
> You want to add Cc: stable@kernel.org on the commit log, not on the e-mail.
And repost the patch in a separate email, not in a reply that I have
to munge before I can feed it to git...
John
--
John W. Linville Someday the world will need a hero, and you
linville@tuxdriver.com might be all we have. Be ready.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2010-02-16 20:15 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-08 2:48 [PATCH 2/2] mac80211: give warning if building w/out rate ctrl algorithm Andres Salomon
2010-02-08 9:06 ` Johannes Berg
2010-02-08 17:07 ` Andres Salomon
2010-02-09 8:00 ` Johannes Berg
2010-02-08 9:23 ` Kalle Valo
2010-02-08 9:27 ` Gábor Stefanik
2010-02-08 18:32 ` Luis R. Rodriguez
2010-02-14 23:18 ` Andres Salomon
2010-02-16 20:05 ` Luis R. Rodriguez
2010-02-16 20:07 ` John W. Linville
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).