Merge branch 'drm-core-next' of git://people.freedesktop.org/~airlied/linux
[firefly-linux-kernel-4.4.55.git] / net / mac80211 / mesh.c
index 0675a2fec6a68705d034ac7e44ab14c52b7aaa37..2913113c5833f220c5708af7d8686ab4196c3d50 100644 (file)
@@ -109,8 +109,10 @@ bool mesh_matches_local(struct ieee80211_sub_if_data *sdata,
 
        /* Disallow HT40+/- mismatch */
        if (ie->ht_operation &&
-           local->_oper_channel_type > NL80211_CHAN_HT20 &&
-           sta_channel_type > NL80211_CHAN_HT20 &&
+           (local->_oper_channel_type == NL80211_CHAN_HT40MINUS ||
+           local->_oper_channel_type == NL80211_CHAN_HT40PLUS) &&
+           (sta_channel_type == NL80211_CHAN_HT40MINUS ||
+            sta_channel_type == NL80211_CHAN_HT40PLUS) &&
            local->_oper_channel_type != sta_channel_type)
                goto mismatch;