skb_set_mac_header(skb, 0);
skb_set_network_header(skb, 0);
+--- a/net/wireless/chan.c
++++ b/net/wireless/chan.c
+@@ -136,9 +136,16 @@ cfg80211_get_chan_state(struct cfg80211_
+ break;
+ case NL80211_IFTYPE_AP:
+ case NL80211_IFTYPE_P2P_GO:
++ if (wdev->beacon_interval) {
++ *chan = wdev->channel;
++ *chanmode = CHAN_MODE_SHARED;
++ }
++ return;
+ case NL80211_IFTYPE_MESH_POINT:
+- *chan = wdev->channel;
+- *chanmode = CHAN_MODE_SHARED;
++ if (wdev->mesh_id_len) {
++ *chan = wdev->channel;
++ *chanmode = CHAN_MODE_SHARED;
++ }
+ return;
+ case NL80211_IFTYPE_MONITOR:
+ case NL80211_IFTYPE_AP_VLAN: