svn commit: r288533 - head/sys/dev/usb/wlan

Adrian Chadd adrian at FreeBSD.org
Sat Oct 3 05:55:17 UTC 2015


Author: adrian
Date: Sat Oct  3 05:55:16 2015
New Revision: 288533
URL: https://svnweb.freebsd.org/changeset/base/288533

Log:
  ural(4): reduce copy-paste in ural_newstate().
  
  Submitted by:	<s3erios at gmail.com>
  Differential Revision:	https://reviews.freebsd.org/D3656

Modified:
  head/sys/dev/usb/wlan/if_ural.c

Modified: head/sys/dev/usb/wlan/if_ural.c
==============================================================================
--- head/sys/dev/usb/wlan/if_ural.c	Sat Oct  3 05:46:35 2015	(r288532)
+++ head/sys/dev/usb/wlan/if_ural.c	Sat Oct  3 05:55:16 2015	(r288533)
@@ -698,12 +698,9 @@ ural_newstate(struct ieee80211vap *vap, 
 		ni = ieee80211_ref_node(vap->iv_bss);
 
 		if (vap->iv_opmode != IEEE80211_M_MONITOR) {
-			if (ic->ic_bsschan == IEEE80211_CHAN_ANYC) {
-				RAL_UNLOCK(sc);
-				IEEE80211_LOCK(ic);
-				ieee80211_free_node(ni);
-				return (-1);
-			}
+			if (ic->ic_bsschan == IEEE80211_CHAN_ANYC)
+				goto fail;
+
 			ural_update_slot(sc);
 			ural_set_txpreamble(sc);
 			ural_set_basicrates(sc, ic->ic_bsschan);
@@ -717,19 +714,13 @@ ural_newstate(struct ieee80211vap *vap, 
 			if (m == NULL) {
 				device_printf(sc->sc_dev,
 				    "could not allocate beacon\n");
-				RAL_UNLOCK(sc);
-				IEEE80211_LOCK(ic);
-				ieee80211_free_node(ni);
-				return (-1);
+				goto fail;
 			}
 			ieee80211_ref_node(ni);
 			if (ural_tx_bcn(sc, m, ni) != 0) {
 				device_printf(sc->sc_dev,
 				    "could not send beacon\n");
-				RAL_UNLOCK(sc);
-				IEEE80211_LOCK(ic);
-				ieee80211_free_node(ni);
-				return (-1);
+				goto fail;
 			}
 		}
 
@@ -755,6 +746,12 @@ ural_newstate(struct ieee80211vap *vap, 
 	RAL_UNLOCK(sc);
 	IEEE80211_LOCK(ic);
 	return (uvp->newstate(vap, nstate, arg));
+
+fail:
+	RAL_UNLOCK(sc);
+	IEEE80211_LOCK(ic);
+	ieee80211_free_node(ni);
+	return (-1);
 }
 
 


More information about the svn-src-all mailing list