diff options
| author | David S. Miller <[email protected]> | 2019-06-18 02:48:13 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2019-06-18 03:20:36 +0000 |
| commit | 13091aa30535b719e269f20a7bc34002bf5afae5 (patch) | |
| tree | bd17956c3ce606a119fadbd43bfa1c0c10006984 /net/wireless/core.c | |
| parent | Merge branch 'UDP-GSO-audit-tests' (diff) | |
| parent | Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs (diff) | |
| download | kernel-13091aa30535b719e269f20a7bc34002bf5afae5.tar.gz kernel-13091aa30535b719e269f20a7bc34002bf5afae5.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Honestly all the conflicts were simple overlapping changes,
nothing really interesting to report.
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'net/wireless/core.c')
| -rw-r--r-- | net/wireless/core.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/net/wireless/core.c b/net/wireless/core.c index fba0915fbd6f..45d9afcff6d5 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c @@ -514,7 +514,7 @@ use_default_name: &rdev->rfkill_ops, rdev); if (!rdev->rfkill) { - kfree(rdev); + wiphy_free(&rdev->wiphy); return NULL; } @@ -1410,8 +1410,12 @@ static int cfg80211_netdev_notifier_call(struct notifier_block *nb, } break; case NETDEV_PRE_UP: - if (!(wdev->wiphy->interface_modes & BIT(wdev->iftype))) + if (!(wdev->wiphy->interface_modes & BIT(wdev->iftype)) && + !(wdev->iftype == NL80211_IFTYPE_AP_VLAN && + rdev->wiphy.flags & WIPHY_FLAG_4ADDR_AP && + wdev->use_4addr)) return notifier_from_errno(-EOPNOTSUPP); + if (rfkill_blocked(rdev->rfkill)) return notifier_from_errno(-ERFKILL); break; |
