diff options
Diffstat (limited to 'sys/net80211')
-rw-r--r-- | sys/net80211/ieee80211_input.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/sys/net80211/ieee80211_input.c b/sys/net80211/ieee80211_input.c index b5a69025381..2a47c8a2ad4 100644 --- a/sys/net80211/ieee80211_input.c +++ b/sys/net80211/ieee80211_input.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ieee80211_input.c,v 1.130 2015/01/27 03:17:36 dlg Exp $ */ +/* $OpenBSD: ieee80211_input.c,v 1.131 2015/02/08 06:03:07 mpi Exp $ */ /*- * Copyright (c) 2001 Atsushi Onoe @@ -859,19 +859,19 @@ ieee80211_deliver_data(struct ieee80211com *ic, struct mbuf *m, } #endif if (m != NULL) { + if ((ic->ic_flags & IEEE80211_F_RSNON) && + eh->ether_type == htons(ETHERTYPE_PAE)) { #if NBPFILTER > 0 - /* - * If we forward frame into transmitter of the AP, - * we don't need to duplicate for DLT_EN10MB. - */ - if (ifp->if_bpf && m1 == NULL) - bpf_mtap(ifp->if_bpf, m, BPF_DIRECTION_IN); + /* + * If we forward frame into transmitter of the AP, + * we don't need to duplicate for DLT_EN10MB. + */ + if (ifp->if_bpf && m1 == NULL) + bpf_mtap(ifp->if_bpf, m, BPF_DIRECTION_IN); #endif - if ((ic->ic_flags & IEEE80211_F_RSNON) && - eh->ether_type == htons(ETHERTYPE_PAE)) ieee80211_eapol_key_input(ic, m, ni); - else - ether_input_mbuf(ifp, m); + } else + if_input(ifp, m); } } |