diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.c | 64 |
1 files changed, 32 insertions, 32 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c index 31ea28858896..e8db33bf5e5d 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c | |||
@@ -337,7 +337,7 @@ static int iwl4965_commit_rxon(struct iwl_priv *priv) | |||
337 | /* If we have set the ASSOC_MSK and we are in BSS mode then | 337 | /* If we have set the ASSOC_MSK and we are in BSS mode then |
338 | * add the IWL_AP_ID to the station rate table */ | 338 | * add the IWL_AP_ID to the station rate table */ |
339 | if (new_assoc) { | 339 | if (new_assoc) { |
340 | if (priv->iw_mode == IEEE80211_IF_TYPE_STA) { | 340 | if (priv->iw_mode == NL80211_IFTYPE_STATION) { |
341 | ret = iwl_rxon_add_station(priv, | 341 | ret = iwl_rxon_add_station(priv, |
342 | priv->active_rxon.bssid_addr, 1); | 342 | priv->active_rxon.bssid_addr, 1); |
343 | if (ret == IWL_INVALID_STATION) { | 343 | if (ret == IWL_INVALID_STATION) { |
@@ -448,8 +448,8 @@ static unsigned int iwl_fill_beacon_frame(struct iwl_priv *priv, | |||
448 | const u8 *dest, int left) | 448 | const u8 *dest, int left) |
449 | { | 449 | { |
450 | if (!iwl_is_associated(priv) || !priv->ibss_beacon || | 450 | if (!iwl_is_associated(priv) || !priv->ibss_beacon || |
451 | ((priv->iw_mode != IEEE80211_IF_TYPE_IBSS) && | 451 | ((priv->iw_mode != NL80211_IFTYPE_ADHOC) && |
452 | (priv->iw_mode != IEEE80211_IF_TYPE_AP))) | 452 | (priv->iw_mode != NL80211_IFTYPE_AP))) |
453 | return 0; | 453 | return 0; |
454 | 454 | ||
455 | if (priv->ibss_beacon->len > left) | 455 | if (priv->ibss_beacon->len > left) |
@@ -672,7 +672,7 @@ static void iwl4965_setup_rxon_timing(struct iwl_priv *priv) | |||
672 | beacon_int = priv->beacon_int; | 672 | beacon_int = priv->beacon_int; |
673 | spin_unlock_irqrestore(&priv->lock, flags); | 673 | spin_unlock_irqrestore(&priv->lock, flags); |
674 | 674 | ||
675 | if (priv->iw_mode == IEEE80211_IF_TYPE_STA) { | 675 | if (priv->iw_mode == NL80211_IFTYPE_STATION) { |
676 | if (beacon_int == 0) { | 676 | if (beacon_int == 0) { |
677 | priv->rxon_timing.beacon_interval = cpu_to_le16(100); | 677 | priv->rxon_timing.beacon_interval = cpu_to_le16(100); |
678 | priv->rxon_timing.beacon_init_val = cpu_to_le32(102400); | 678 | priv->rxon_timing.beacon_init_val = cpu_to_le32(102400); |
@@ -721,7 +721,7 @@ static void iwl_set_flags_for_band(struct iwl_priv *priv, | |||
721 | else | 721 | else |
722 | priv->staging_rxon.flags &= ~RXON_FLG_SHORT_SLOT_MSK; | 722 | priv->staging_rxon.flags &= ~RXON_FLG_SHORT_SLOT_MSK; |
723 | 723 | ||
724 | if (priv->iw_mode == IEEE80211_IF_TYPE_IBSS) | 724 | if (priv->iw_mode == NL80211_IFTYPE_ADHOC) |
725 | priv->staging_rxon.flags &= ~RXON_FLG_SHORT_SLOT_MSK; | 725 | priv->staging_rxon.flags &= ~RXON_FLG_SHORT_SLOT_MSK; |
726 | 726 | ||
727 | priv->staging_rxon.flags |= RXON_FLG_BAND_24G_MSK; | 727 | priv->staging_rxon.flags |= RXON_FLG_BAND_24G_MSK; |
@@ -740,23 +740,23 @@ static void iwl4965_connection_init_rx_config(struct iwl_priv *priv) | |||
740 | memset(&priv->staging_rxon, 0, sizeof(priv->staging_rxon)); | 740 | memset(&priv->staging_rxon, 0, sizeof(priv->staging_rxon)); |
741 | 741 | ||
742 | switch (priv->iw_mode) { | 742 | switch (priv->iw_mode) { |
743 | case IEEE80211_IF_TYPE_AP: | 743 | case NL80211_IFTYPE_AP: |
744 | priv->staging_rxon.dev_type = RXON_DEV_TYPE_AP; | 744 | priv->staging_rxon.dev_type = RXON_DEV_TYPE_AP; |
745 | break; | 745 | break; |
746 | 746 | ||
747 | case IEEE80211_IF_TYPE_STA: | 747 | case NL80211_IFTYPE_STATION: |
748 | priv->staging_rxon.dev_type = RXON_DEV_TYPE_ESS; | 748 | priv->staging_rxon.dev_type = RXON_DEV_TYPE_ESS; |
749 | priv->staging_rxon.filter_flags = RXON_FILTER_ACCEPT_GRP_MSK; | 749 | priv->staging_rxon.filter_flags = RXON_FILTER_ACCEPT_GRP_MSK; |
750 | break; | 750 | break; |
751 | 751 | ||
752 | case IEEE80211_IF_TYPE_IBSS: | 752 | case NL80211_IFTYPE_ADHOC: |
753 | priv->staging_rxon.dev_type = RXON_DEV_TYPE_IBSS; | 753 | priv->staging_rxon.dev_type = RXON_DEV_TYPE_IBSS; |
754 | priv->staging_rxon.flags = RXON_FLG_SHORT_PREAMBLE_MSK; | 754 | priv->staging_rxon.flags = RXON_FLG_SHORT_PREAMBLE_MSK; |
755 | priv->staging_rxon.filter_flags = RXON_FILTER_BCON_AWARE_MSK | | 755 | priv->staging_rxon.filter_flags = RXON_FILTER_BCON_AWARE_MSK | |
756 | RXON_FILTER_ACCEPT_GRP_MSK; | 756 | RXON_FILTER_ACCEPT_GRP_MSK; |
757 | break; | 757 | break; |
758 | 758 | ||
759 | case IEEE80211_IF_TYPE_MNTR: | 759 | case NL80211_IFTYPE_MONITOR: |
760 | priv->staging_rxon.dev_type = RXON_DEV_TYPE_SNIFFER; | 760 | priv->staging_rxon.dev_type = RXON_DEV_TYPE_SNIFFER; |
761 | priv->staging_rxon.filter_flags = RXON_FILTER_PROMISC_MSK | | 761 | priv->staging_rxon.filter_flags = RXON_FILTER_PROMISC_MSK | |
762 | RXON_FILTER_CTL2HOST_MSK | RXON_FILTER_ACCEPT_GRP_MSK; | 762 | RXON_FILTER_CTL2HOST_MSK | RXON_FILTER_ACCEPT_GRP_MSK; |
@@ -785,7 +785,7 @@ static void iwl4965_connection_init_rx_config(struct iwl_priv *priv) | |||
785 | * in some case A channels are all non IBSS | 785 | * in some case A channels are all non IBSS |
786 | * in this case force B/G channel | 786 | * in this case force B/G channel |
787 | */ | 787 | */ |
788 | if ((priv->iw_mode == IEEE80211_IF_TYPE_IBSS) && | 788 | if ((priv->iw_mode == NL80211_IFTYPE_ADHOC) && |
789 | !(is_channel_ibss(ch_info))) | 789 | !(is_channel_ibss(ch_info))) |
790 | ch_info = &priv->channel_info[0]; | 790 | ch_info = &priv->channel_info[0]; |
791 | 791 | ||
@@ -1182,7 +1182,7 @@ static void iwl4965_rx_beacon_notif(struct iwl_priv *priv, | |||
1182 | le32_to_cpu(beacon->low_tsf), rate); | 1182 | le32_to_cpu(beacon->low_tsf), rate); |
1183 | #endif | 1183 | #endif |
1184 | 1184 | ||
1185 | if ((priv->iw_mode == IEEE80211_IF_TYPE_AP) && | 1185 | if ((priv->iw_mode == NL80211_IFTYPE_AP) && |
1186 | (!test_bit(STATUS_EXIT_PENDING, &priv->status))) | 1186 | (!test_bit(STATUS_EXIT_PENDING, &priv->status))) |
1187 | queue_work(priv->workqueue, &priv->beacon_update); | 1187 | queue_work(priv->workqueue, &priv->beacon_update); |
1188 | } | 1188 | } |
@@ -2388,7 +2388,7 @@ static void iwl4965_bg_set_monitor(struct work_struct *work) | |||
2388 | 2388 | ||
2389 | mutex_lock(&priv->mutex); | 2389 | mutex_lock(&priv->mutex); |
2390 | 2390 | ||
2391 | ret = iwl4965_set_mode(priv, IEEE80211_IF_TYPE_MNTR); | 2391 | ret = iwl4965_set_mode(priv, NL80211_IFTYPE_MONITOR); |
2392 | 2392 | ||
2393 | if (ret) { | 2393 | if (ret) { |
2394 | if (ret == -EAGAIN) | 2394 | if (ret == -EAGAIN) |
@@ -2469,7 +2469,7 @@ static void iwl4965_post_associate(struct iwl_priv *priv) | |||
2469 | DECLARE_MAC_BUF(mac); | 2469 | DECLARE_MAC_BUF(mac); |
2470 | unsigned long flags; | 2470 | unsigned long flags; |
2471 | 2471 | ||
2472 | if (priv->iw_mode == IEEE80211_IF_TYPE_AP) { | 2472 | if (priv->iw_mode == NL80211_IFTYPE_AP) { |
2473 | IWL_ERROR("%s Should not be called in AP mode\n", __func__); | 2473 | IWL_ERROR("%s Should not be called in AP mode\n", __func__); |
2474 | return; | 2474 | return; |
2475 | } | 2475 | } |
@@ -2524,7 +2524,7 @@ static void iwl4965_post_associate(struct iwl_priv *priv) | |||
2524 | else | 2524 | else |
2525 | priv->staging_rxon.flags &= ~RXON_FLG_SHORT_SLOT_MSK; | 2525 | priv->staging_rxon.flags &= ~RXON_FLG_SHORT_SLOT_MSK; |
2526 | 2526 | ||
2527 | if (priv->iw_mode == IEEE80211_IF_TYPE_IBSS) | 2527 | if (priv->iw_mode == NL80211_IFTYPE_ADHOC) |
2528 | priv->staging_rxon.flags &= ~RXON_FLG_SHORT_SLOT_MSK; | 2528 | priv->staging_rxon.flags &= ~RXON_FLG_SHORT_SLOT_MSK; |
2529 | 2529 | ||
2530 | } | 2530 | } |
@@ -2532,10 +2532,10 @@ static void iwl4965_post_associate(struct iwl_priv *priv) | |||
2532 | iwl4965_commit_rxon(priv); | 2532 | iwl4965_commit_rxon(priv); |
2533 | 2533 | ||
2534 | switch (priv->iw_mode) { | 2534 | switch (priv->iw_mode) { |
2535 | case IEEE80211_IF_TYPE_STA: | 2535 | case NL80211_IFTYPE_STATION: |
2536 | break; | 2536 | break; |
2537 | 2537 | ||
2538 | case IEEE80211_IF_TYPE_IBSS: | 2538 | case NL80211_IFTYPE_ADHOC: |
2539 | 2539 | ||
2540 | /* assume default assoc id */ | 2540 | /* assume default assoc id */ |
2541 | priv->assoc_id = 1; | 2541 | priv->assoc_id = 1; |
@@ -2551,7 +2551,7 @@ static void iwl4965_post_associate(struct iwl_priv *priv) | |||
2551 | break; | 2551 | break; |
2552 | } | 2552 | } |
2553 | 2553 | ||
2554 | if (priv->iw_mode == IEEE80211_IF_TYPE_IBSS) | 2554 | if (priv->iw_mode == NL80211_IFTYPE_ADHOC) |
2555 | priv->assoc_station_added = 1; | 2555 | priv->assoc_station_added = 1; |
2556 | 2556 | ||
2557 | spin_lock_irqsave(&priv->lock, flags); | 2557 | spin_lock_irqsave(&priv->lock, flags); |
@@ -2828,7 +2828,7 @@ static int iwl4965_mac_config(struct ieee80211_hw *hw, struct ieee80211_conf *co | |||
2828 | goto out; | 2828 | goto out; |
2829 | } | 2829 | } |
2830 | 2830 | ||
2831 | if (priv->iw_mode == IEEE80211_IF_TYPE_IBSS && | 2831 | if (priv->iw_mode == NL80211_IFTYPE_ADHOC && |
2832 | !is_channel_ibss(ch_info)) { | 2832 | !is_channel_ibss(ch_info)) { |
2833 | IWL_ERROR("channel %d in band %d not IBSS channel\n", | 2833 | IWL_ERROR("channel %d in band %d not IBSS channel\n", |
2834 | conf->channel->hw_value, conf->channel->band); | 2834 | conf->channel->hw_value, conf->channel->band); |
@@ -2943,7 +2943,7 @@ static void iwl4965_config_ap(struct iwl_priv *priv) | |||
2943 | priv->staging_rxon.flags &= | 2943 | priv->staging_rxon.flags &= |
2944 | ~RXON_FLG_SHORT_SLOT_MSK; | 2944 | ~RXON_FLG_SHORT_SLOT_MSK; |
2945 | 2945 | ||
2946 | if (priv->iw_mode == IEEE80211_IF_TYPE_IBSS) | 2946 | if (priv->iw_mode == NL80211_IFTYPE_ADHOC) |
2947 | priv->staging_rxon.flags &= | 2947 | priv->staging_rxon.flags &= |
2948 | ~RXON_FLG_SHORT_SLOT_MSK; | 2948 | ~RXON_FLG_SHORT_SLOT_MSK; |
2949 | } | 2949 | } |
@@ -2982,7 +2982,7 @@ static int iwl4965_mac_config_interface(struct ieee80211_hw *hw, | |||
2982 | return 0; | 2982 | return 0; |
2983 | } | 2983 | } |
2984 | 2984 | ||
2985 | if (priv->iw_mode == IEEE80211_IF_TYPE_IBSS && | 2985 | if (priv->iw_mode == NL80211_IFTYPE_ADHOC && |
2986 | conf->changed & IEEE80211_IFCC_BEACON) { | 2986 | conf->changed & IEEE80211_IFCC_BEACON) { |
2987 | struct sk_buff *beacon = ieee80211_beacon_get(hw, vif); | 2987 | struct sk_buff *beacon = ieee80211_beacon_get(hw, vif); |
2988 | if (!beacon) | 2988 | if (!beacon) |
@@ -2992,7 +2992,7 @@ static int iwl4965_mac_config_interface(struct ieee80211_hw *hw, | |||
2992 | return rc; | 2992 | return rc; |
2993 | } | 2993 | } |
2994 | 2994 | ||
2995 | if ((priv->iw_mode == IEEE80211_IF_TYPE_AP) && | 2995 | if ((priv->iw_mode == NL80211_IFTYPE_AP) && |
2996 | (!conf->ssid_len)) { | 2996 | (!conf->ssid_len)) { |
2997 | IWL_DEBUG_MAC80211 | 2997 | IWL_DEBUG_MAC80211 |
2998 | ("Leaving in AP mode because HostAPD is not ready.\n"); | 2998 | ("Leaving in AP mode because HostAPD is not ready.\n"); |
@@ -3015,7 +3015,7 @@ static int iwl4965_mac_config_interface(struct ieee80211_hw *hw, | |||
3015 | !(priv->hw->flags & IEEE80211_HW_NO_PROBE_FILTERING)) { | 3015 | !(priv->hw->flags & IEEE80211_HW_NO_PROBE_FILTERING)) { |
3016 | */ | 3016 | */ |
3017 | 3017 | ||
3018 | if (priv->iw_mode == IEEE80211_IF_TYPE_AP) { | 3018 | if (priv->iw_mode == NL80211_IFTYPE_AP) { |
3019 | if (!conf->bssid) { | 3019 | if (!conf->bssid) { |
3020 | conf->bssid = priv->mac_addr; | 3020 | conf->bssid = priv->mac_addr; |
3021 | memcpy(priv->bssid, priv->mac_addr, ETH_ALEN); | 3021 | memcpy(priv->bssid, priv->mac_addr, ETH_ALEN); |
@@ -3050,11 +3050,11 @@ static int iwl4965_mac_config_interface(struct ieee80211_hw *hw, | |||
3050 | * to verify) - jpk */ | 3050 | * to verify) - jpk */ |
3051 | memcpy(priv->bssid, conf->bssid, ETH_ALEN); | 3051 | memcpy(priv->bssid, conf->bssid, ETH_ALEN); |
3052 | 3052 | ||
3053 | if (priv->iw_mode == IEEE80211_IF_TYPE_AP) | 3053 | if (priv->iw_mode == NL80211_IFTYPE_AP) |
3054 | iwl4965_config_ap(priv); | 3054 | iwl4965_config_ap(priv); |
3055 | else { | 3055 | else { |
3056 | rc = iwl4965_commit_rxon(priv); | 3056 | rc = iwl4965_commit_rxon(priv); |
3057 | if ((priv->iw_mode == IEEE80211_IF_TYPE_STA) && rc) | 3057 | if ((priv->iw_mode == NL80211_IFTYPE_STATION) && rc) |
3058 | iwl_rxon_add_station( | 3058 | iwl_rxon_add_station( |
3059 | priv, priv->active_rxon.bssid_addr, 1); | 3059 | priv, priv->active_rxon.bssid_addr, 1); |
3060 | } | 3060 | } |
@@ -3090,7 +3090,7 @@ static void iwl4965_configure_filter(struct ieee80211_hw *hw, | |||
3090 | 3090 | ||
3091 | if (changed_flags & (*total_flags) & FIF_OTHER_BSS) { | 3091 | if (changed_flags & (*total_flags) & FIF_OTHER_BSS) { |
3092 | IWL_DEBUG_MAC80211("Enter: type %d (0x%x, 0x%x)\n", | 3092 | IWL_DEBUG_MAC80211("Enter: type %d (0x%x, 0x%x)\n", |
3093 | IEEE80211_IF_TYPE_MNTR, | 3093 | NL80211_IFTYPE_MONITOR, |
3094 | changed_flags, *total_flags); | 3094 | changed_flags, *total_flags); |
3095 | /* queue work 'cuz mac80211 is holding a lock which | 3095 | /* queue work 'cuz mac80211 is holding a lock which |
3096 | * prevents us from issuing (synchronous) f/w cmds */ | 3096 | * prevents us from issuing (synchronous) f/w cmds */ |
@@ -3204,7 +3204,7 @@ static int iwl_mac_hw_scan(struct ieee80211_hw *hw, u8 *ssid, size_t ssid_len) | |||
3204 | goto out_unlock; | 3204 | goto out_unlock; |
3205 | } | 3205 | } |
3206 | 3206 | ||
3207 | if (priv->iw_mode == IEEE80211_IF_TYPE_AP) { /* APs don't scan */ | 3207 | if (priv->iw_mode == NL80211_IFTYPE_AP) { /* APs don't scan */ |
3208 | ret = -EIO; | 3208 | ret = -EIO; |
3209 | IWL_ERROR("ERROR: APs don't scan\n"); | 3209 | IWL_ERROR("ERROR: APs don't scan\n"); |
3210 | goto out_unlock; | 3210 | goto out_unlock; |
@@ -3329,7 +3329,7 @@ static int iwl4965_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, | |||
3329 | * in 1X mode. | 3329 | * in 1X mode. |
3330 | * In legacy wep mode, we use another host command to the uCode */ | 3330 | * In legacy wep mode, we use another host command to the uCode */ |
3331 | if (key->alg == ALG_WEP && sta_id == priv->hw_params.bcast_sta_id && | 3331 | if (key->alg == ALG_WEP && sta_id == priv->hw_params.bcast_sta_id && |
3332 | priv->iw_mode != IEEE80211_IF_TYPE_AP) { | 3332 | priv->iw_mode != NL80211_IFTYPE_AP) { |
3333 | if (cmd == SET_KEY) | 3333 | if (cmd == SET_KEY) |
3334 | is_default_wep_key = !priv->key_mapping_key; | 3334 | is_default_wep_key = !priv->key_mapping_key; |
3335 | else | 3335 | else |
@@ -3400,7 +3400,7 @@ static int iwl4965_mac_conf_tx(struct ieee80211_hw *hw, u16 queue, | |||
3400 | priv->qos_data.def_qos_parm.ac[q].reserved1 = 0; | 3400 | priv->qos_data.def_qos_parm.ac[q].reserved1 = 0; |
3401 | priv->qos_data.qos_active = 1; | 3401 | priv->qos_data.qos_active = 1; |
3402 | 3402 | ||
3403 | if (priv->iw_mode == IEEE80211_IF_TYPE_AP) | 3403 | if (priv->iw_mode == NL80211_IFTYPE_AP) |
3404 | iwl_activate_qos(priv, 1); | 3404 | iwl_activate_qos(priv, 1); |
3405 | else if (priv->assoc_id && iwl_is_associated(priv)) | 3405 | else if (priv->assoc_id && iwl_is_associated(priv)) |
3406 | iwl_activate_qos(priv, 0); | 3406 | iwl_activate_qos(priv, 0); |
@@ -3518,7 +3518,7 @@ static void iwl4965_mac_reset_tsf(struct ieee80211_hw *hw) | |||
3518 | 3518 | ||
3519 | priv->beacon_int = priv->hw->conf.beacon_int; | 3519 | priv->beacon_int = priv->hw->conf.beacon_int; |
3520 | priv->timestamp = 0; | 3520 | priv->timestamp = 0; |
3521 | if ((priv->iw_mode == IEEE80211_IF_TYPE_STA)) | 3521 | if ((priv->iw_mode == NL80211_IFTYPE_STATION)) |
3522 | priv->beacon_int = 0; | 3522 | priv->beacon_int = 0; |
3523 | 3523 | ||
3524 | spin_unlock_irqrestore(&priv->lock, flags); | 3524 | spin_unlock_irqrestore(&priv->lock, flags); |
@@ -3532,7 +3532,7 @@ static void iwl4965_mac_reset_tsf(struct ieee80211_hw *hw) | |||
3532 | /* we are restarting association process | 3532 | /* we are restarting association process |
3533 | * clear RXON_FILTER_ASSOC_MSK bit | 3533 | * clear RXON_FILTER_ASSOC_MSK bit |
3534 | */ | 3534 | */ |
3535 | if (priv->iw_mode != IEEE80211_IF_TYPE_AP) { | 3535 | if (priv->iw_mode != NL80211_IFTYPE_AP) { |
3536 | iwl_scan_cancel_timeout(priv, 100); | 3536 | iwl_scan_cancel_timeout(priv, 100); |
3537 | priv->staging_rxon.filter_flags &= ~RXON_FILTER_ASSOC_MSK; | 3537 | priv->staging_rxon.filter_flags &= ~RXON_FILTER_ASSOC_MSK; |
3538 | iwl4965_commit_rxon(priv); | 3538 | iwl4965_commit_rxon(priv); |
@@ -3541,7 +3541,7 @@ static void iwl4965_mac_reset_tsf(struct ieee80211_hw *hw) | |||
3541 | iwl_power_update_mode(priv, 0); | 3541 | iwl_power_update_mode(priv, 0); |
3542 | 3542 | ||
3543 | /* Per mac80211.h: This is only used in IBSS mode... */ | 3543 | /* Per mac80211.h: This is only used in IBSS mode... */ |
3544 | if (priv->iw_mode != IEEE80211_IF_TYPE_IBSS) { | 3544 | if (priv->iw_mode != NL80211_IFTYPE_ADHOC) { |
3545 | 3545 | ||
3546 | /* switch to CAM during association period. | 3546 | /* switch to CAM during association period. |
3547 | * the ucode will block any association/authentication | 3547 | * the ucode will block any association/authentication |
@@ -3580,7 +3580,7 @@ static int iwl4965_mac_beacon_update(struct ieee80211_hw *hw, struct sk_buff *sk | |||
3580 | return -EIO; | 3580 | return -EIO; |
3581 | } | 3581 | } |
3582 | 3582 | ||
3583 | if (priv->iw_mode != IEEE80211_IF_TYPE_IBSS) { | 3583 | if (priv->iw_mode != NL80211_IFTYPE_ADHOC) { |
3584 | IWL_DEBUG_MAC80211("leave - not IBSS\n"); | 3584 | IWL_DEBUG_MAC80211("leave - not IBSS\n"); |
3585 | mutex_unlock(&priv->mutex); | 3585 | mutex_unlock(&priv->mutex); |
3586 | return -EIO; | 3586 | return -EIO; |