On Thu, 4 May 2006 22:32:35 -0400, Michael Wu wrote:
> This makes the current hack used to prevent 802.11g cards from scanning with 
> 802.11b channels not break scanning in 802.11b drivers.

I think this should be better:

Signed-off-by: Jiri Benc <[EMAIL PROTECTED]>

---

 net/d80211/ieee80211.c     |   14 ++++++++++++++
 net/d80211/ieee80211_sta.c |    1 -
 2 files changed, 14 insertions(+), 1 deletion(-)

--- dscape.orig/net/d80211/ieee80211.c
+++ dscape/net/d80211/ieee80211.c
@@ -4014,6 +4014,19 @@ static void ieee80211_precalc_rates(stru
        }
 }
 
+static inline void ieee80211_apply_modes(struct ieee80211_hw *hw,
+                                        struct ieee80211_local *local)
+{
+       struct ieee80211_hw_modes *mode;
+       int i;
+
+       local->scan_skip_11b = 0;
+       for (i = 0; i < hw->num_modes; i++) {
+               mode = &hw->modes[i];
+               if (mode->mode == MODE_IEEE80211G)
+                       local->scan_skip_11b = 1;
+       }
+}
 
 struct net_device *ieee80211_alloc_hw(size_t priv_data_len,
                                      void (*setup)(struct net_device *))
@@ -4258,6 +4271,7 @@ int ieee80211_update_hw(struct net_devic
                return -1;
 
        ieee80211_precalc_rates(hw);
+       ieee80211_apply_modes(hw, local);
        local->conf.phymode = hw->modes[0].mode;
        local->curr_rates = hw->modes[0].rates;
        local->num_curr_rates = hw->modes[0].num_rates;
--- dscape.orig/net/d80211/ieee80211_sta.c
+++ dscape/net/d80211/ieee80211_sta.c
@@ -2566,7 +2566,6 @@ int ieee80211_sta_req_scan(struct net_de
                memcpy(local->scan_ssid, ssid, ssid_len);
        } else
                local->scan_ssid_len = 0;
-       local->scan_skip_11b = 1; /* FIX: clear this is 11g is not supported */
        local->scan_state = SCAN_SET_CHANNEL;
        local->scan_hw_mode_idx = 0;
        local->scan_channel_idx = 0;


-- 
Jiri Benc
SUSE Labs
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to