]> Git Repo - linux.git/commitdiff
[MAC80211]: Set low initial rate in rc80211_simple
authorLarry Finger <[email protected]>
Tue, 3 Jul 2007 05:36:38 +0000 (22:36 -0700)
committerDavid S. Miller <[email protected]>
Wed, 11 Jul 2007 05:16:25 +0000 (22:16 -0700)
The initial rate for STA's using rc80211_simple is set to the last
rate in the rate table. For situations for which the signal is weak,
the rate may be too high for authentication and association. Although
the rc80211_simple module will adjust the speed, the response may not
be fast enough for a successful connection. This modification sets the
initial rate to the lowest supported value.

Signed-off-by: Larry Finger <[email protected]>
Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
net/mac80211/rc80211_simple.c

index 2048cfd1ca70093781e30bd5bb52b9c5696773a0..5ae7fc45466547cddb6009abe8f04162f4c0287c 100644 (file)
@@ -283,14 +283,16 @@ static void rate_control_simple_rate_init(void *priv, void *priv_sta,
        int i;
        sta->txrate = 0;
        mode = local->oper_hw_mode;
-       /* TODO: what is a good starting rate for STA? About middle? Maybe not
-        * the lowest or the highest rate.. Could consider using RSSI from
-        * previous packets? Need to have IEEE 802.1X auth succeed immediately
-        * after assoc.. */
+       /* TODO: This routine should consider using RSSI from previous packets
+        * as we need to have IEEE 802.1X auth succeed immediately after assoc..
+        * Until that method is implemented, we will use the lowest supported rate
+        * as a workaround, */
        for (i = 0; i < mode->num_rates; i++) {
                if ((sta->supp_rates & BIT(i)) &&
-                   (mode->rates[i].flags & IEEE80211_RATE_SUPPORTED))
+                   (mode->rates[i].flags & IEEE80211_RATE_SUPPORTED)) {
                        sta->txrate = i;
+                       break;
+               }
        }
 }
 
This page took 0.053409 seconds and 4 git commands to generate.