summaryrefslogtreecommitdiffstats
path: root/sys/dev/bwn/if_bwn.c
diff options
context:
space:
mode:
authorngie <ngie@FreeBSD.org>2015-10-12 08:20:41 +0000
committerngie <ngie@FreeBSD.org>2015-10-12 08:20:41 +0000
commit40fbae4ade405f27176b15190bc55e19b65f48ef (patch)
tree8c49a7828c274f2da261db8916574f9a63fa04b6 /sys/dev/bwn/if_bwn.c
parentb60afb3d49570c8d2c8519e2a2ee1288349a080a (diff)
parent67366adb20c44f7e7f9f3739419e8a0a82157433 (diff)
downloadFreeBSD-src-40fbae4ade405f27176b15190bc55e19b65f48ef.zip
FreeBSD-src-40fbae4ade405f27176b15190bc55e19b65f48ef.tar.gz
MFhead @ r289173
Diffstat (limited to 'sys/dev/bwn/if_bwn.c')
-rw-r--r--sys/dev/bwn/if_bwn.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/sys/dev/bwn/if_bwn.c b/sys/dev/bwn/if_bwn.c
index 15f6f27..0746a8e 100644
--- a/sys/dev/bwn/if_bwn.c
+++ b/sys/dev/bwn/if_bwn.c
@@ -2684,29 +2684,26 @@ bwn_raw_xmit(struct ieee80211_node *ni, struct mbuf *m,
struct ieee80211com *ic = ni->ni_ic;
struct bwn_softc *sc = ic->ic_softc;
struct bwn_mac *mac = sc->sc_curmac;
+ int error;
if ((sc->sc_flags & BWN_FLAG_RUNNING) == 0 ||
mac->mac_status < BWN_MAC_STATUS_STARTED) {
- ieee80211_free_node(ni);
m_freem(m);
return (ENETDOWN);
}
BWN_LOCK(sc);
if (bwn_tx_isfull(sc, m)) {
- ieee80211_free_node(ni);
m_freem(m);
BWN_UNLOCK(sc);
return (ENOBUFS);
}
- if (bwn_tx_start(sc, ni, m) != 0) {
- if (ni != NULL)
- ieee80211_free_node(ni);
- }
- sc->sc_watchdog_timer = 5;
+ error = bwn_tx_start(sc, ni, m);
+ if (error == 0)
+ sc->sc_watchdog_timer = 5;
BWN_UNLOCK(sc);
- return (0);
+ return (error);
}
/*
OpenPOWER on IntegriCloud