diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2007-11-14 22:44:02 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-11-14 22:44:02 -0500 |
commit | d06fc1d9b5518582f4982f908e820f2303d1eece (patch) | |
tree | 969d1ccf3cc47e8fe1c2154f75502cf9b67e9402 /net/mac80211/ieee80211_sta.c | |
parent | 99fee6d7e5748d96884667a4628118f7fc130ea0 (diff) | |
parent | 66fbb541a5d2d58fdae21c1e7b558a75bfbd483f (diff) |
Merge branch 'fixes-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
Diffstat (limited to 'net/mac80211/ieee80211_sta.c')
-rw-r--r-- | net/mac80211/ieee80211_sta.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/net/mac80211/ieee80211_sta.c b/net/mac80211/ieee80211_sta.c index 2079e988fc56..015b3f879aa9 100644 --- a/net/mac80211/ieee80211_sta.c +++ b/net/mac80211/ieee80211_sta.c | |||
@@ -2002,7 +2002,10 @@ void ieee80211_sta_work(struct work_struct *work) | |||
2002 | if (ifsta->state != IEEE80211_AUTHENTICATE && | 2002 | if (ifsta->state != IEEE80211_AUTHENTICATE && |
2003 | ifsta->state != IEEE80211_ASSOCIATE && | 2003 | ifsta->state != IEEE80211_ASSOCIATE && |
2004 | test_and_clear_bit(IEEE80211_STA_REQ_SCAN, &ifsta->request)) { | 2004 | test_and_clear_bit(IEEE80211_STA_REQ_SCAN, &ifsta->request)) { |
2005 | ieee80211_sta_start_scan(dev, NULL, 0); | 2005 | if (ifsta->scan_ssid_len) |
2006 | ieee80211_sta_start_scan(dev, ifsta->scan_ssid, ifsta->scan_ssid_len); | ||
2007 | else | ||
2008 | ieee80211_sta_start_scan(dev, NULL, 0); | ||
2006 | return; | 2009 | return; |
2007 | } | 2010 | } |
2008 | 2011 | ||
@@ -2872,6 +2875,9 @@ int ieee80211_sta_req_scan(struct net_device *dev, u8 *ssid, size_t ssid_len) | |||
2872 | return -EBUSY; | 2875 | return -EBUSY; |
2873 | } | 2876 | } |
2874 | 2877 | ||
2878 | ifsta->scan_ssid_len = ssid_len; | ||
2879 | if (ssid_len) | ||
2880 | memcpy(ifsta->scan_ssid, ssid, ssid_len); | ||
2875 | set_bit(IEEE80211_STA_REQ_SCAN, &ifsta->request); | 2881 | set_bit(IEEE80211_STA_REQ_SCAN, &ifsta->request); |
2876 | queue_work(local->hw.workqueue, &ifsta->work); | 2882 | queue_work(local->hw.workqueue, &ifsta->work); |
2877 | return 0; | 2883 | return 0; |