diff options
Diffstat (limited to 'net/mac80211/ibss.c')
| -rw-r--r-- | net/mac80211/ibss.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c index e5e8a317b865..9b983788ee51 100644 --- a/net/mac80211/ibss.c +++ b/net/mac80211/ibss.c | |||
| @@ -7,6 +7,7 @@ | |||
| 7 | * Copyright 2007, Michael Wu <flamingice@sourmilk.net> | 7 | * Copyright 2007, Michael Wu <flamingice@sourmilk.net> |
| 8 | * Copyright 2009, Johannes Berg <johannes@sipsolutions.net> | 8 | * Copyright 2009, Johannes Berg <johannes@sipsolutions.net> |
| 9 | * Copyright 2013-2014 Intel Mobile Communications GmbH | 9 | * Copyright 2013-2014 Intel Mobile Communications GmbH |
| 10 | * Copyright(c) 2016 Intel Deutschland GmbH | ||
| 10 | * | 11 | * |
| 11 | * This program is free software; you can redistribute it and/or modify | 12 | * This program is free software; you can redistribute it and/or modify |
| 12 | * it under the terms of the GNU General Public License version 2 as | 13 | * it under the terms of the GNU General Public License version 2 as |
| @@ -1483,14 +1484,21 @@ static void ieee80211_sta_find_ibss(struct ieee80211_sub_if_data *sdata) | |||
| 1483 | 1484 | ||
| 1484 | sdata_info(sdata, "Trigger new scan to find an IBSS to join\n"); | 1485 | sdata_info(sdata, "Trigger new scan to find an IBSS to join\n"); |
| 1485 | 1486 | ||
| 1486 | num = ieee80211_ibss_setup_scan_channels(local->hw.wiphy, | ||
| 1487 | &ifibss->chandef, | ||
| 1488 | channels, | ||
| 1489 | ARRAY_SIZE(channels)); | ||
| 1490 | scan_width = cfg80211_chandef_to_scan_width(&ifibss->chandef); | 1487 | scan_width = cfg80211_chandef_to_scan_width(&ifibss->chandef); |
| 1491 | ieee80211_request_ibss_scan(sdata, ifibss->ssid, | 1488 | |
| 1492 | ifibss->ssid_len, channels, num, | 1489 | if (ifibss->fixed_channel) { |
| 1493 | scan_width); | 1490 | num = ieee80211_ibss_setup_scan_channels(local->hw.wiphy, |
| 1491 | &ifibss->chandef, | ||
| 1492 | channels, | ||
| 1493 | ARRAY_SIZE(channels)); | ||
| 1494 | ieee80211_request_ibss_scan(sdata, ifibss->ssid, | ||
| 1495 | ifibss->ssid_len, channels, | ||
| 1496 | num, scan_width); | ||
| 1497 | } else { | ||
| 1498 | ieee80211_request_ibss_scan(sdata, ifibss->ssid, | ||
| 1499 | ifibss->ssid_len, NULL, | ||
| 1500 | 0, scan_width); | ||
| 1501 | } | ||
| 1494 | } else { | 1502 | } else { |
| 1495 | int interval = IEEE80211_SCAN_INTERVAL; | 1503 | int interval = IEEE80211_SCAN_INTERVAL; |
| 1496 | 1504 | ||
