diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 48d0dd0beaa5f39a41f61fac267f5c61effca451..b6942b717a592666b48b1f904abf8a5f86a70910 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -2064,7 +2064,11 @@ static bool ieee80211_parse_tx_radiotap(struct ieee80211_local *local,
 			}
 
 			vht_mcs = iterator.this_arg[4] >> 4;
+			if (vht_mcs > 11)
+				vht_mcs = 0;
 			vht_nss = iterator.this_arg[4] & 0xF;
+			if (!vht_nss || vht_nss > 8)
+				vht_nss = 1;
 			break;
 
 		/*