pkt_stat->phy_status = GET_RX_DESC_PHYST(rx_desc);
        pkt_stat->icv_err = GET_RX_DESC_ICV_ERR(rx_desc);
        pkt_stat->crc_err = GET_RX_DESC_CRC32(rx_desc);
-       pkt_stat->decrypted = !GET_RX_DESC_SWDEC(rx_desc);
+       pkt_stat->decrypted = !GET_RX_DESC_SWDEC(rx_desc) &&
+                             GET_RX_DESC_ENC_TYPE(rx_desc) != RX_DESC_ENC_NONE;
        pkt_stat->is_c2h = GET_RX_DESC_C2H(rx_desc);
        pkt_stat->pkt_len = GET_RX_DESC_PKT_LEN(rx_desc);
        pkt_stat->drv_info_sz = GET_RX_DESC_DRV_INFO_SIZE(rx_desc);
 
        pkt_stat->phy_status = GET_RX_DESC_PHYST(rx_desc);
        pkt_stat->icv_err = GET_RX_DESC_ICV_ERR(rx_desc);
        pkt_stat->crc_err = GET_RX_DESC_CRC32(rx_desc);
-       pkt_stat->decrypted = !GET_RX_DESC_SWDEC(rx_desc);
+       pkt_stat->decrypted = !GET_RX_DESC_SWDEC(rx_desc) &&
+                             GET_RX_DESC_ENC_TYPE(rx_desc) != RX_DESC_ENC_NONE;
        pkt_stat->is_c2h = GET_RX_DESC_C2H(rx_desc);
        pkt_stat->pkt_len = GET_RX_DESC_PKT_LEN(rx_desc);
        pkt_stat->drv_info_sz = GET_RX_DESC_DRV_INFO_SIZE(rx_desc);
 
 #ifndef __RTW_RX_H_
 #define __RTW_RX_H_
 
+enum rtw_rx_desc_enc {
+       RX_DESC_ENC_NONE        = 0,
+       RX_DESC_ENC_WEP40       = 1,
+       RX_DESC_ENC_TKIP_WO_MIC = 2,
+       RX_DESC_ENC_TKIP_MIC    = 3,
+       RX_DESC_ENC_AES         = 4,
+       RX_DESC_ENC_WEP104      = 5,
+};
+
 #define GET_RX_DESC_PHYST(rxdesc)                                              \
        le32_get_bits(*((__le32 *)(rxdesc) + 0x00), BIT(26))
 #define GET_RX_DESC_ICV_ERR(rxdesc)                                            \
        le32_get_bits(*((__le32 *)(rxdesc) + 0x00), GENMASK(19, 16))
 #define GET_RX_DESC_SHIFT(rxdesc)                                              \
        le32_get_bits(*((__le32 *)(rxdesc) + 0x00), GENMASK(25, 24))
+#define GET_RX_DESC_ENC_TYPE(rxdesc)                                           \
+       le32_get_bits(*((__le32 *)(rxdesc) + 0x00), GENMASK(22, 20))
 #define GET_RX_DESC_RX_RATE(rxdesc)                                            \
        le32_get_bits(*((__le32 *)(rxdesc) + 0x03), GENMASK(6, 0))
 #define GET_RX_DESC_MACID(rxdesc)                                              \