diff --git a/net/mac80211/wpa.c b/net/mac80211/wpa.c
index 5fd8a3e8b5b4..2ba005dfd614 100644
--- a/net/mac80211/wpa.c
+++ b/net/mac80211/wpa.c
@@ -159,7 +159,8 @@ ieee80211_rx_h_michael_mic_verify(struct ieee80211_rx_data *rx)
 	data = skb->data + hdrlen;
 	data_len = skb->len - hdrlen - MICHAEL_MIC_LEN;
 	key = &rx->key->conf.key[NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY];
-	michael_mic(key, hdr, data, data_len, mic);
+	if (michael_mic(key, hdr, data, data_len, mic) < 0)
+		goto mic_fail;
 	if (crypto_memneq(mic, data + data_len, MICHAEL_MIC_LEN))
 		goto mic_fail;