[iwn] Do not filter control frames in monitor mode.

PR:		kern/197143
Submitted by:	 Andriy Voskoboinyk <s3erios@gmail.com>
This commit is contained in:
Adrian Chadd 2015-05-03 23:40:12 +00:00
parent a20c9aff42
commit 3077c104f5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=282402

View File

@ -1972,7 +1972,7 @@ wpi_rx_done(struct wpi_softc *sc, struct wpi_rx_desc *desc,
goto fail1;
}
/* Discard frames that are too short. */
if (len < sizeof (*wh)) {
if (len < sizeof (struct ieee80211_frame_ack)) {
DPRINTF(sc, WPI_DEBUG_RECV, "%s: frame too short: %d\n",
__func__, len);
goto fail1;
@ -2033,7 +2033,11 @@ wpi_rx_done(struct wpi_softc *sc, struct wpi_rx_desc *desc,
m->m_flags |= M_WEP;
}
ni = ieee80211_find_rxnode(ic, (struct ieee80211_frame_min *)wh);
if (len >= sizeof(struct ieee80211_frame_min))
ni = ieee80211_find_rxnode(ic, (struct ieee80211_frame_min *)wh);
else
ni = NULL;
sc->rx_tstamp = tail->tstamp;
if (ieee80211_radiotap_active(ic)) {