svn commit: r343417 - in head/sys: dev/rtwn/pci dev/rtwn/usb net80211

Andriy Voskoboinyk avos at FreeBSD.org
Fri Jan 25 01:05:21 UTC 2019


Author: avos
Date: Fri Jan 25 01:05:18 2019
New Revision: 343417
URL: https://svnweb.freebsd.org/changeset/base/343417

Log:
  net80211: reuse TICKS_2_MSEC / MSEC_2_TICKS macros from sys/time.h
  
  Replace in-place implementation with system-wide one; since it
  guarantees non-zero result drop all less-than-one checks from
  drivers and net80211.
  
  MFC after:	2 weeks

Modified:
  head/sys/dev/rtwn/pci/rtwn_pci_reg.c
  head/sys/dev/rtwn/usb/rtwn_usb_reg.c
  head/sys/net80211/ieee80211_amrr.c
  head/sys/net80211/ieee80211_freebsd.c
  head/sys/net80211/ieee80211_freebsd.h
  head/sys/net80211/ieee80211_ioctl.c
  head/sys/net80211/ieee80211_rssadapt.c
  head/sys/net80211/ieee80211_scan.c

Modified: head/sys/dev/rtwn/pci/rtwn_pci_reg.c
==============================================================================
--- head/sys/dev/rtwn/pci/rtwn_pci_reg.c	Thu Jan 24 23:34:51 2019	(r343416)
+++ head/sys/dev/rtwn/pci/rtwn_pci_reg.c	Fri Jan 25 01:05:18 2019	(r343417)
@@ -118,6 +118,6 @@ rtwn_pci_delay(struct rtwn_softc *sc, int usec)
 		DELAY(usec);
 	else {
 		(void) mtx_sleep(sc, &sc->sc_mtx, 0, "rtwn_pci",
-		    MAX(msecs_to_ticks(usec / 1000), 1));
+		    msecs_to_ticks(usec / 1000));
 	}
 }

Modified: head/sys/dev/rtwn/usb/rtwn_usb_reg.c
==============================================================================
--- head/sys/dev/rtwn/usb/rtwn_usb_reg.c	Thu Jan 24 23:34:51 2019	(r343416)
+++ head/sys/dev/rtwn/usb/rtwn_usb_reg.c	Fri Jan 25 01:05:18 2019	(r343417)
@@ -172,8 +172,6 @@ rtwn_usb_delay(struct rtwn_softc *sc, int usec)
 	/* 1ms delay as default is too big. */
 	if (usec < 1000)
 		DELAY(usec);
-	else {
-		usb_pause_mtx(&sc->sc_mtx,
-		    MAX(msecs_to_ticks(usec / 1000), 1));
-	}
+	else
+		usb_pause_mtx(&sc->sc_mtx, msecs_to_ticks(usec / 1000));
 }

Modified: head/sys/net80211/ieee80211_amrr.c
==============================================================================
--- head/sys/net80211/ieee80211_amrr.c	Thu Jan 24 23:34:51 2019	(r343416)
+++ head/sys/net80211/ieee80211_amrr.c	Fri Jan 25 01:05:18 2019	(r343417)
@@ -102,15 +102,13 @@ static void
 amrr_setinterval(const struct ieee80211vap *vap, int msecs)
 {
 	struct ieee80211_amrr *amrr = vap->iv_rs;
-	int t;
 
 	if (!amrr)
 		return;
 
 	if (msecs < 100)
 		msecs = 100;
-	t = msecs_to_ticks(msecs);
-	amrr->amrr_interval = (t < 1) ? 1 : t;
+	amrr->amrr_interval = msecs_to_ticks(msecs);
 }
 
 static void

Modified: head/sys/net80211/ieee80211_freebsd.c
==============================================================================
--- head/sys/net80211/ieee80211_freebsd.c	Thu Jan 24 23:34:51 2019	(r343416)
+++ head/sys/net80211/ieee80211_freebsd.c	Fri Jan 25 01:05:18 2019	(r343417)
@@ -136,13 +136,12 @@ int
 ieee80211_sysctl_msecs_ticks(SYSCTL_HANDLER_ARGS)
 {
 	int msecs = ticks_to_msecs(*(int *)arg1);
-	int error, t;
+	int error;
 
 	error = sysctl_handle_int(oidp, &msecs, 0, req);
 	if (error || !req->newptr)
 		return error;
-	t = msecs_to_ticks(msecs);
-	*(int *)arg1 = (t < 1) ? 1 : t;
+	*(int *)arg1 = msecs_to_ticks(msecs);
 	return 0;
 }
 
@@ -347,9 +346,6 @@ ieee80211_com_vdetach(struct ieee80211vap *vap)
 	int sleep_time;
 
 	sleep_time = msecs_to_ticks(250);
-	if (sleep_time == 0)
-		sleep_time = 1;
-
 	atomic_set_32(&vap->iv_com_state, IEEE80211_COM_DETACHED);
 	while (MS(atomic_load_32(&vap->iv_com_state), IEEE80211_COM_REF) != 0)
 		pause("comref", sleep_time);

Modified: head/sys/net80211/ieee80211_freebsd.h
==============================================================================
--- head/sys/net80211/ieee80211_freebsd.h	Thu Jan 24 23:34:51 2019	(r343416)
+++ head/sys/net80211/ieee80211_freebsd.h	Fri Jan 25 01:05:18 2019	(r343417)
@@ -38,6 +38,7 @@
 #include <sys/rwlock.h>
 #include <sys/sysctl.h>
 #include <sys/taskqueue.h>
+#include <sys/time.h>
 
 /*
  * Common state locking definitions.
@@ -249,9 +250,8 @@ void	ieee80211_vap_destroy(struct ieee80211vap *);
 	(((_ifp)->if_flags & IFF_UP) && \
 	 ((_ifp)->if_drv_flags & IFF_DRV_RUNNING))
 
-/* XXX TODO: cap these at 1, as hz may not be 1000 */
-#define	msecs_to_ticks(ms)	(((ms)*hz)/1000)
-#define	ticks_to_msecs(t)	(1000*(t) / hz)
+#define	msecs_to_ticks(ms)	MSEC_2_TICKS(ms)
+#define	ticks_to_msecs(t)	TICKS_2_MSEC(t)
 #define	ticks_to_secs(t)	((t) / hz)
 
 #define ieee80211_time_after(a,b) 	((long)(b) - (long)(a) < 0)

Modified: head/sys/net80211/ieee80211_ioctl.c
==============================================================================
--- head/sys/net80211/ieee80211_ioctl.c	Thu Jan 24 23:34:51 2019	(r343416)
+++ head/sys/net80211/ieee80211_ioctl.c	Fri Jan 25 01:05:18 2019	(r343417)
@@ -2515,20 +2515,12 @@ ieee80211_scanreq(struct ieee80211vap *vap, struct iee
 		    sr->sr_duration > IEEE80211_IOC_SCAN_DURATION_MAX)
 			return EINVAL;
 		sr->sr_duration = msecs_to_ticks(sr->sr_duration);
-		if (sr->sr_duration < 1)
-			sr->sr_duration = 1;
 	}
 	/* convert min/max channel dwell */
-	if (sr->sr_mindwell != 0) {
+	if (sr->sr_mindwell != 0)
 		sr->sr_mindwell = msecs_to_ticks(sr->sr_mindwell);
-		if (sr->sr_mindwell < 1)
-			sr->sr_mindwell = 1;
-	}
-	if (sr->sr_maxdwell != 0) {
+	if (sr->sr_maxdwell != 0)
 		sr->sr_maxdwell = msecs_to_ticks(sr->sr_maxdwell);
-		if (sr->sr_maxdwell < 1)
-			sr->sr_maxdwell = 1;
-	}
 	/* NB: silently reduce ssid count to what is supported */
 	if (sr->sr_nssid > IEEE80211_SCAN_MAX_SSID)
 		sr->sr_nssid = IEEE80211_SCAN_MAX_SSID;

Modified: head/sys/net80211/ieee80211_rssadapt.c
==============================================================================
--- head/sys/net80211/ieee80211_rssadapt.c	Thu Jan 24 23:34:51 2019	(r343416)
+++ head/sys/net80211/ieee80211_rssadapt.c	Fri Jan 25 01:05:18 2019	(r343417)
@@ -117,15 +117,13 @@ static void
 rssadapt_setinterval(const struct ieee80211vap *vap, int msecs)
 {
 	struct ieee80211_rssadapt *rs = vap->iv_rs;
-	int t;
 
 	if (!rs)
 		return;
 
 	if (msecs < 100)
 		msecs = 100;
-	t = msecs_to_ticks(msecs);
-	rs->interval = (t < 1) ? 1 : t;
+	rs->interval = msecs_to_ticks(msecs);
 }
 
 static void

Modified: head/sys/net80211/ieee80211_scan.c
==============================================================================
--- head/sys/net80211/ieee80211_scan.c	Thu Jan 24 23:34:51 2019	(r343416)
+++ head/sys/net80211/ieee80211_scan.c	Fri Jan 25 01:05:18 2019	(r343417)
@@ -294,7 +294,7 @@ ieee80211_scan_dump(struct ieee80211_scan_state *ss)
 
 	if_printf(vap->iv_ifp, "scan set ");
 	ieee80211_scan_dump_channels(ss);
-	printf(" dwell min %lums max %lums\n",
+	printf(" dwell min %ums max %ums\n",
 	    ticks_to_msecs(ss->ss_mindwell), ticks_to_msecs(ss->ss_maxdwell));
 }
 #endif /* IEEE80211_DEBUG */


More information about the svn-src-all mailing list