diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch
index c8dce038e3c9ddde45c6b31d5a6937a54d9eb23c..1fec1b4383ddc594b288cce43b241d0fce1e0381 100644
--- a/package/mac80211/patches/300-pending_work.patch
+++ b/package/mac80211/patches/300-pending_work.patch
@@ -1984,3 +1984,24 @@
  
  	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: