* [PATCH] iwlwifi: select proper rate control algorithm
@ 2007-10-28 13:53 Johannes Berg
2007-10-29 2:40 ` Zhu Yi
0 siblings, 1 reply; 3+ messages in thread
From: Johannes Berg @ 2007-10-28 13:53 UTC (permalink / raw)
To: John Linville; +Cc: Michael Wu, linux-wireless, Zhu Yi
Prior to this patch, iwlwifi would always use the first
registered rate control algorithm which, depending on system
setup, could be anything. After the mac80211 patch to make
the simple algorithm built-in, it would always be simple.
This has always been a bug in iwlwifi.
This fixes it by requesting that mac80211 selects the right
rate control algorithm.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
---
Untested, and the iwlwifi base code that registers rate control
algorithms is a *total* mess. They should only be registered once at
module load rather than at hardware probe time! Hence, I have no idea
whether this will suffice or if rate control algorithm initialisation
has to be rewritten.
drivers/net/wireless/iwlwifi/iwl3945-base.c | 2 ++
drivers/net/wireless/iwlwifi/iwl4965-base.c | 2 ++
2 files changed, 4 insertions(+)
--- linux-2.6.orig/drivers/net/wireless/iwlwifi/iwl3945-base.c 2007-10-28 14:31:02.845330022 +0100
+++ linux-2.6/drivers/net/wireless/iwlwifi/iwl3945-base.c 2007-10-28 14:31:54.255349989 +0100
@@ -8317,6 +8317,8 @@ static int iwl_pci_probe(struct pci_dev
}
SET_IEEE80211_DEV(hw, &pdev->dev);
+ hw->rate_control_algorithm = "iwl-3945-rs";
+
IWL_DEBUG_INFO("*** LOAD DRIVER ***\n");
priv = hw->priv;
priv->hw = hw;
--- linux-2.6.orig/drivers/net/wireless/iwlwifi/iwl4965-base.c 2007-10-28 14:31:03.005056368 +0100
+++ linux-2.6/drivers/net/wireless/iwlwifi/iwl4965-base.c 2007-10-28 14:32:07.735049425 +0100
@@ -8918,6 +8918,8 @@ static int iwl_pci_probe(struct pci_dev
}
SET_IEEE80211_DEV(hw, &pdev->dev);
+ hw->rate_control_algorithm = "iwl-4965-rs";
+
IWL_DEBUG_INFO("*** LOAD DRIVER ***\n");
priv = hw->priv;
priv->hw = hw;
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] iwlwifi: select proper rate control algorithm
2007-10-28 13:53 [PATCH] iwlwifi: select proper rate control algorithm Johannes Berg
@ 2007-10-29 2:40 ` Zhu Yi
2007-10-29 8:07 ` Johannes Berg
0 siblings, 1 reply; 3+ messages in thread
From: Zhu Yi @ 2007-10-29 2:40 UTC (permalink / raw)
To: Johannes Berg; +Cc: John Linville, Michael Wu, linux-wireless
On Sun, 2007-10-28 at 14:53 +0100, Johannes Berg wrote:
> Prior to this patch, iwlwifi would always use the first
> registered rate control algorithm which, depending on system
> setup, could be anything. After the mac80211 patch to make
> the simple algorithm built-in, it would always be simple.
>
> This has always been a bug in iwlwifi.
>
> This fixes it by requesting that mac80211 selects the right
> rate control algorithm.
>
> Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
>
> ---
> Untested, and the iwlwifi base code that registers rate control
> algorithms is a *total* mess. They should only be registered once at
> module load rather than at hardware probe time! Hence, I have no idea
> whether this will suffice or if rate control algorithm initialisation
> has to be rewritten.
>
> drivers/net/wireless/iwlwifi/iwl3945-base.c | 2 ++
> drivers/net/wireless/iwlwifi/iwl4965-base.c | 2 ++
> 2 files changed, 4 insertions(+)
>
> ---
> linux-2.6.orig/drivers/net/wireless/iwlwifi/iwl3945-base.c 2007-10-28
> 14:31:02.845330022 +0100
> +++
> linux-2.6/drivers/net/wireless/iwlwifi/iwl3945-base.c 2007-10-28
> 14:31:54.255349989 +0100
> @@ -8317,6 +8317,8 @@ static int iwl_pci_probe(struct pci_dev
> }
> SET_IEEE80211_DEV(hw, &pdev->dev);
>
> + hw->rate_control_algorithm = "iwl-3945-rs";
> +
Which mac80211.h has this field added? wireless-2.6 doesn't seem to have
this support yet.
Thanks,
-yi
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-10-29 8:06 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-28 13:53 [PATCH] iwlwifi: select proper rate control algorithm Johannes Berg
2007-10-29 2:40 ` Zhu Yi
2007-10-29 8:07 ` Johannes Berg
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.