21 lines
590 B
Diff
21 lines
590 B
Diff
|
--- a/net/wireless/nl80211.c
|
||
|
+++ b/net/wireless/nl80211.c
|
||
|
@@ -1813,7 +1813,7 @@ static int nl80211_get_station(struct sk
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
- * Get vlan interface making sure it is on the right wiphy.
|
||
|
+ * Get vlan interface making sure it is running and on the right wiphy.
|
||
|
*/
|
||
|
static int get_vlan(struct genl_info *info,
|
||
|
struct cfg80211_registered_device *rdev,
|
||
|
@@ -1831,6 +1831,8 @@ static int get_vlan(struct genl_info *in
|
||
|
return -EINVAL;
|
||
|
if ((*vlan)->ieee80211_ptr->wiphy != &rdev->wiphy)
|
||
|
return -EINVAL;
|
||
|
+ if (!netif_running(*vlan))
|
||
|
+ return -ENETDOWN;
|
||
|
}
|
||
|
return 0;
|
||
|
}
|