diff options
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r-- | net/mac80211/util.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c index cba4633cd6cf..1b224fa27367 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c | |||
@@ -1,3 +1,4 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
1 | /* | 2 | /* |
2 | * Copyright 2002-2005, Instant802 Networks, Inc. | 3 | * Copyright 2002-2005, Instant802 Networks, Inc. |
3 | * Copyright 2005-2006, Devicescape Software, Inc. | 4 | * Copyright 2005-2006, Devicescape Software, Inc. |
@@ -7,10 +8,6 @@ | |||
7 | * Copyright (C) 2015-2017 Intel Deutschland GmbH | 8 | * Copyright (C) 2015-2017 Intel Deutschland GmbH |
8 | * Copyright (C) 2018-2019 Intel Corporation | 9 | * Copyright (C) 2018-2019 Intel Corporation |
9 | * | 10 | * |
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License version 2 as | ||
12 | * published by the Free Software Foundation. | ||
13 | * | ||
14 | * utilities for mac80211 | 11 | * utilities for mac80211 |
15 | */ | 12 | */ |
16 | 13 | ||
@@ -2480,6 +2477,10 @@ int ieee80211_reconfig(struct ieee80211_local *local) | |||
2480 | mutex_lock(&local->mtx); | 2477 | mutex_lock(&local->mtx); |
2481 | ieee80211_start_next_roc(local); | 2478 | ieee80211_start_next_roc(local); |
2482 | mutex_unlock(&local->mtx); | 2479 | mutex_unlock(&local->mtx); |
2480 | |||
2481 | /* Requeue all works */ | ||
2482 | list_for_each_entry(sdata, &local->interfaces, list) | ||
2483 | ieee80211_queue_work(&local->hw, &sdata->work); | ||
2483 | } | 2484 | } |
2484 | 2485 | ||
2485 | ieee80211_wake_queues_by_reason(hw, IEEE80211_MAX_QUEUE_MAP, | 2486 | ieee80211_wake_queues_by_reason(hw, IEEE80211_MAX_QUEUE_MAP, |
@@ -3795,7 +3796,9 @@ int ieee80211_check_combinations(struct ieee80211_sub_if_data *sdata, | |||
3795 | } | 3796 | } |
3796 | 3797 | ||
3797 | /* Always allow software iftypes */ | 3798 | /* Always allow software iftypes */ |
3798 | if (local->hw.wiphy->software_iftypes & BIT(iftype)) { | 3799 | if (local->hw.wiphy->software_iftypes & BIT(iftype) || |
3800 | (iftype == NL80211_IFTYPE_AP_VLAN && | ||
3801 | local->hw.wiphy->flags & WIPHY_FLAG_4ADDR_AP)) { | ||
3799 | if (radar_detect) | 3802 | if (radar_detect) |
3800 | return -EINVAL; | 3803 | return -EINVAL; |
3801 | return 0; | 3804 | return 0; |