summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/io/rwn/rt2860.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/io/rwn/rt2860.c')
-rw-r--r--usr/src/uts/common/io/rwn/rt2860.c27
1 files changed, 20 insertions, 7 deletions
diff --git a/usr/src/uts/common/io/rwn/rt2860.c b/usr/src/uts/common/io/rwn/rt2860.c
index 588d5c3730..703f1df19a 100644
--- a/usr/src/uts/common/io/rwn/rt2860.c
+++ b/usr/src/uts/common/io/rwn/rt2860.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -245,12 +245,14 @@ static void rt2860_m_ioctl(void *, queue_t *, mblk_t *);
static int rt2860_m_setprop(void *arg, const char *pr_name,
mac_prop_id_t wldp_pr_num,
uint_t wldp_length, const void *wldp_buf);
+static void rt2860_m_propinfo(void *arg, const char *pr_name,
+ mac_prop_id_t wldp_pr_num, mac_prop_info_handle_t prh);
static int rt2860_m_getprop(void *arg, const char *pr_name,
- mac_prop_id_t wldp_pr_num, uint_t pr_flags,
- uint_t wldp_length, void *wldp_buf, uint_t *);
+ mac_prop_id_t wldp_pr_num, uint_t wldp_length,
+ void *wldp_buf);
static mac_callbacks_t rt2860_m_callbacks = {
- MC_IOCTL | MC_SETPROP | MC_GETPROP,
+ MC_IOCTL | MC_SETPROP | MC_GETPROP | MC_PROPINFO,
rt2860_m_stat,
rt2860_m_start,
rt2860_m_stop,
@@ -258,12 +260,14 @@ static mac_callbacks_t rt2860_m_callbacks = {
rt2860_m_multicst,
rt2860_m_unicst,
rt2860_m_tx,
+ NULL,
rt2860_m_ioctl,
NULL,
NULL,
NULL,
rt2860_m_setprop,
- rt2860_m_getprop
+ rt2860_m_getprop,
+ rt2860_m_propinfo
};
#ifdef DEBUG
@@ -2635,17 +2639,26 @@ rt2860_m_ioctl(void* arg, queue_t *wq, mblk_t *mp)
*/
static int
rt2860_m_getprop(void *arg, const char *pr_name, mac_prop_id_t wldp_pr_num,
- uint_t pr_flags, uint_t wldp_length, void *wldp_buf, uint_t *perm)
+ uint_t wldp_length, void *wldp_buf)
{
struct rt2860_softc *sc = (struct rt2860_softc *)arg;
int err = 0;
err = ieee80211_getprop(&sc->sc_ic, pr_name, wldp_pr_num,
- pr_flags, wldp_length, wldp_buf, perm);
+ wldp_length, wldp_buf);
return (err);
}
+static void
+rt2860_m_propinfo(void *arg, const char *pr_name, mac_prop_id_t wldp_pr_num,
+ mac_prop_info_handle_t prh)
+{
+ struct rt2860_softc *sc = (struct rt2860_softc *)arg;
+
+ ieee80211_propinfo(&sc->sc_ic, pr_name, wldp_pr_num, prh);
+}
+
static int
rt2860_m_setprop(void *arg, const char *pr_name, mac_prop_id_t wldp_pr_num,
uint_t wldp_length, const void *wldp_buf)