summaryrefslogtreecommitdiffstats
path: root/net/wireless/ibss.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/wireless/ibss.c')
-rw-r--r--net/wireless/ibss.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/wireless/ibss.c b/net/wireless/ibss.c
index eafdfa5798ae..364f900a3dc4 100644
--- a/net/wireless/ibss.c
+++ b/net/wireless/ibss.c
@@ -43,7 +43,8 @@ void __cfg80211_ibss_joined(struct net_device *dev, const u8 *bssid,
43 cfg80211_hold_bss(bss_from_pub(bss)); 43 cfg80211_hold_bss(bss_from_pub(bss));
44 wdev->current_bss = bss_from_pub(bss); 44 wdev->current_bss = bss_from_pub(bss);
45 45
46 cfg80211_upload_connect_keys(wdev); 46 if (!(wdev->wiphy->flags & WIPHY_FLAG_HAS_STATIC_WEP))
47 cfg80211_upload_connect_keys(wdev);
47 48
48 nl80211_send_ibss_bssid(wiphy_to_rdev(wdev->wiphy), dev, bssid, 49 nl80211_send_ibss_bssid(wiphy_to_rdev(wdev->wiphy), dev, bssid,
49 GFP_KERNEL); 50 GFP_KERNEL);
@@ -296,7 +297,7 @@ int cfg80211_ibss_wext_join(struct cfg80211_registered_device *rdev,
296 ck = kmemdup(wdev->wext.keys, sizeof(*ck), GFP_KERNEL); 297 ck = kmemdup(wdev->wext.keys, sizeof(*ck), GFP_KERNEL);
297 if (!ck) 298 if (!ck)
298 return -ENOMEM; 299 return -ENOMEM;
299 for (i = 0; i < 4; i++) 300 for (i = 0; i < CFG80211_MAX_WEP_KEYS; i++)
300 ck->params[i].key = ck->data[i]; 301 ck->params[i].key = ck->data[i];
301 } 302 }
302 err = __cfg80211_join_ibss(rdev, wdev->netdev, 303 err = __cfg80211_join_ibss(rdev, wdev->netdev,