summaryrefslogtreecommitdiffstats
path: root/sys/dev/iwi
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2005-07-07 02:55:04 +0000
committersam <sam@FreeBSD.org>2005-07-07 02:55:04 +0000
commitee0f352bd101a476fd21844fbdee59d29a026442 (patch)
treec1b7d951e4616bcb565679b8737c31495aa556d5 /sys/dev/iwi
parent5b31b99954daa585036b676ec1e9271df6ab4fa7 (diff)
downloadFreeBSD-src-ee0f352bd101a476fd21844fbdee59d29a026442.zip
FreeBSD-src-ee0f352bd101a476fd21844fbdee59d29a026442.tar.gz
reclaim mbuf when ieee80211_crypto_encap fails
Approved by: re (scottl) Obtained from: netbsd
Diffstat (limited to 'sys/dev/iwi')
-rw-r--r--sys/dev/iwi/if_iwi.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/iwi/if_iwi.c b/sys/dev/iwi/if_iwi.c
index e6aa051..35d9674 100644
--- a/sys/dev/iwi/if_iwi.c
+++ b/sys/dev/iwi/if_iwi.c
@@ -1355,8 +1355,10 @@ iwi_tx_start(struct ifnet *ifp, struct mbuf *m0, struct ieee80211_node *ni)
bcopy(mtod(m0, struct ieee80211_frame *), &wh, sizeof (struct ieee80211_frame));
if (wh.i_fc[1] & IEEE80211_FC1_WEP) {
k = ieee80211_crypto_encap(ic, ni, m0);
- if (k == NULL)
+ if (k == NULL) {
+ m_freem(m0);
return ENOBUFS;
+ }
}
if (sc->sc_drvbpf != NULL) {
OpenPOWER on IntegriCloud