svn commit: r187858 - in projects/vap7/sys: . contrib/pf dev
dev/ath dev/ath/ath_hal dev/ath/ath_hal/ar5210
dev/ath/ath_hal/ar5211 dev/ath/ath_hal/ar5212
dev/ath/ath_hal/ar5312 dev/ath/ath_hal/ar54...
Sam Leffler
sam at FreeBSD.org
Wed Jan 28 11:42:03 PST 2009
Author: sam
Date: Wed Jan 28 19:42:02 2009
New Revision: 187858
URL: http://svn.freebsd.org/changeset/base/187858
Log:
merge r187800: hange ic_getradiocaps driver callback
Modified:
projects/vap7/sys/ (props changed)
projects/vap7/sys/contrib/pf/ (props changed)
projects/vap7/sys/dev/ (props changed)
projects/vap7/sys/dev/ath/ (props changed)
projects/vap7/sys/dev/ath/ath_hal/ (props changed)
projects/vap7/sys/dev/ath/ath_hal/ar5210/ (props changed)
projects/vap7/sys/dev/ath/ath_hal/ar5211/ (props changed)
projects/vap7/sys/dev/ath/ath_hal/ar5212/ (props changed)
projects/vap7/sys/dev/ath/ath_hal/ar5312/ (props changed)
projects/vap7/sys/dev/ath/ath_hal/ar5416/ (props changed)
projects/vap7/sys/dev/ath/if_ath.c
projects/vap7/sys/dev/cxgb/ (props changed)
projects/vap7/sys/dev/usb2/ (props changed)
projects/vap7/sys/i386/conf/USB2 (props changed)
projects/vap7/sys/modules/usb2/ (props changed)
projects/vap7/sys/net80211/ (props changed)
projects/vap7/sys/net80211/ieee80211_ioctl.c
projects/vap7/sys/net80211/ieee80211_regdomain.c
projects/vap7/sys/net80211/ieee80211_var.h
Modified: projects/vap7/sys/dev/ath/if_ath.c
==============================================================================
--- projects/vap7/sys/dev/ath/if_ath.c Wed Jan 28 19:41:18 2009 (r187857)
+++ projects/vap7/sys/dev/ath/if_ath.c Wed Jan 28 19:42:02 2009 (r187858)
@@ -205,7 +205,7 @@ static void ath_newassoc(struct ieee8021
static int ath_setregdomain(struct ieee80211com *,
struct ieee80211_regdomain *, int,
struct ieee80211_channel []);
-static void ath_getradiocaps(struct ieee80211com *, int *,
+static void ath_getradiocaps(struct ieee80211com *, int, int *,
struct ieee80211_channel []);
static int ath_getchannels(struct ath_softc *);
static void ath_led_event(struct ath_softc *, int);
@@ -6332,7 +6332,7 @@ ath_setregdomain(struct ieee80211com *ic
static void
ath_getradiocaps(struct ieee80211com *ic,
- int *nchans, struct ieee80211_channel chans[])
+ int maxchans, int *nchans, struct ieee80211_channel chans[])
{
struct ath_softc *sc = ic->ic_ifp->if_softc;
struct ath_hal *ah = sc->sc_ah;
Modified: projects/vap7/sys/net80211/ieee80211_ioctl.c
==============================================================================
--- projects/vap7/sys/net80211/ieee80211_ioctl.c Wed Jan 28 19:41:18 2009 (r187857)
+++ projects/vap7/sys/net80211/ieee80211_ioctl.c Wed Jan 28 19:42:02 2009 (r187858)
@@ -707,7 +707,7 @@ ieee80211_ioctl_getdevcaps(struct ieee80
dc->dc_cryptocaps = ic->ic_cryptocaps;
dc->dc_htcaps = ic->ic_htcaps;
ci = &dc->dc_chaninfo;
- ic->ic_getradiocaps(ic, &ci->ic_nchans, ci->ic_chans);
+ ic->ic_getradiocaps(ic, IEEE80211_CHAN_MAX, &ci->ic_nchans, ci->ic_chans);
ieee80211_sort_channels(ci->ic_chans, ci->ic_nchans);
error = copyout(dc, ireq->i_data, sizeof(*dc));
free(dc, M_TEMP);
Modified: projects/vap7/sys/net80211/ieee80211_regdomain.c
==============================================================================
--- projects/vap7/sys/net80211/ieee80211_regdomain.c Wed Jan 28 19:41:18 2009 (r187857)
+++ projects/vap7/sys/net80211/ieee80211_regdomain.c Wed Jan 28 19:42:02 2009 (r187858)
@@ -44,12 +44,14 @@ __FBSDID("$FreeBSD$");
#include <net80211/ieee80211_regdomain.h>
static void
-null_getradiocaps(struct ieee80211com *ic, int *n, struct ieee80211_channel *c)
+null_getradiocaps(struct ieee80211com *ic, int maxchan,
+ int *n, struct ieee80211_channel *c)
{
/* just feed back the current channel list */
- *n = ic->ic_nchans;
- memcpy(c, ic->ic_channels,
- ic->ic_nchans*sizeof(struct ieee80211_channel));
+ *n = ic->ic_nchans; /* XXX return count copied? */
+ if (maxchan > ic->ic_nchans)
+ maxchan = ic->ic_nchans;
+ memcpy(c, ic->ic_channels, maxchan*sizeof(struct ieee80211_channel));
}
static int
Modified: projects/vap7/sys/net80211/ieee80211_var.h
==============================================================================
--- projects/vap7/sys/net80211/ieee80211_var.h Wed Jan 28 19:41:18 2009 (r187857)
+++ projects/vap7/sys/net80211/ieee80211_var.h Wed Jan 28 19:42:02 2009 (r187858)
@@ -208,7 +208,7 @@ struct ieee80211com {
ieee80211vap_attach ic_vattach[IEEE80211_OPMODE_MAX];
/* return hardware/radio capabilities */
void (*ic_getradiocaps)(struct ieee80211com *,
- int *, struct ieee80211_channel []);
+ int, int *, struct ieee80211_channel []);
/* check and/or prepare regdomain state change */
int (*ic_setregdomain)(struct ieee80211com *,
struct ieee80211_regdomain *,
More information about the svn-src-projects
mailing list