Author: adrian
Date: Mon Feb  6 01:57:41 2017
New Revision: 313306
URL: https://svnweb.freebsd.org/changeset/base/313306

Log:
  [iwm] free node reference if rxparams addition fails.

Modified:
  head/sys/dev/iwm/if_iwm.c

Modified: head/sys/dev/iwm/if_iwm.c
==============================================================================
--- head/sys/dev/iwm/if_iwm.c   Sun Feb  5 22:18:45 2017        (r313305)
+++ head/sys/dev/iwm/if_iwm.c   Mon Feb  6 01:57:41 2017        (r313306)
@@ -2994,8 +2994,11 @@ iwm_mvm_rx_rx_mpdu(struct iwm_softc *sc,
        /* rssi is in 1/2db units */
        rxs.c_rssi = rssi * 2;
        rxs.c_nf = sc->sc_noise;
-       if (ieee80211_add_rx_params(m, &rxs) == 0)
+       if (ieee80211_add_rx_params(m, &rxs) == 0) {
+               if (ni)
+                       ieee80211_free_node(ni);
                goto fail;
+       }
 
        if (ieee80211_radiotap_active_vap(vap)) {
                struct iwm_rx_radiotap_header *tap = &sc->sc_rxtap;
@@ -3042,7 +3045,8 @@ iwm_mvm_rx_rx_mpdu(struct iwm_softc *sc,
 
        return;
 
-fail:  counter_u64_add(ic->ic_ierrors, 1);
+fail:
+       counter_u64_add(ic->ic_ierrors, 1);
 }
 
 static int
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to