summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/realtek/rtw89/core.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c
index 7e1182a49942..fddb0c822c28 100644
--- a/drivers/net/wireless/realtek/rtw89/core.c
+++ b/drivers/net/wireless/realtek/rtw89/core.c
@@ -2275,6 +2275,13 @@ static int rtw89_core_rx_parse_phy_sts(struct rtw89_dev *rtwdev,
while (pos < end) {
const struct rtw89_phy_sts_iehdr *iehdr = pos;
+ /*
+ * RTL8922D might reports 8 bytes zeros at end if IE09 presents.
+ * Check and ignore the zeros.
+ */
+ if (unlikely(phy_ppdu->ie09 && end - pos == 8 && iehdr->w0 == 0))
+ break;
+
ie_len = rtw89_core_get_phy_status_ie_len(rtwdev, iehdr);
pos += ie_len;
if (pos > end || ie_len == 0) {