--- 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; }