run(4): do not clear PROTECTED bit if frame was not decrypted by NIC.

Tested with D-Link DWA-140 rev B3, STA / MONITOR modes.

MFC after:	1 week
This commit is contained in:
Andriy Voskoboinyk 2019-03-31 13:41:20 +00:00
parent 39abb4482d
commit e4c17012d0

View File

@ -2865,8 +2865,8 @@ run_rx_frame(struct run_softc *sc, struct mbuf *m, uint32_t dmalen)
wh = mtod(m, struct ieee80211_frame *);
/* XXX wrong for monitor mode */
if (wh->i_fc[1] & IEEE80211_FC1_PROTECTED) {
if ((wh->i_fc[1] & IEEE80211_FC1_PROTECTED) != 0 &&
(flags & RT2860_RX_DEC) != 0) {
wh->i_fc[1] &= ~IEEE80211_FC1_PROTECTED;
m->m_flags |= M_WEP;
}