diff --git a/src/add-ons/kernel/drivers/network/wlan/iprowifi4965/dev/iwn/if_iwn.c b/src/add-ons/kernel/drivers/network/wlan/iprowifi4965/dev/iwn/if_iwn.c index 73950202f1..f5eea18786 100644 --- a/src/add-ons/kernel/drivers/network/wlan/iprowifi4965/dev/iwn/if_iwn.c +++ b/src/add-ons/kernel/drivers/network/wlan/iprowifi4965/dev/iwn/if_iwn.c @@ -5081,7 +5081,7 @@ iwn_parent(struct ieee80211com *ic) struct iwn_softc *sc = ic->ic_softc; struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps); int startall = 0, stop = 0; - + IWN_LOCK(sc); if (ic->ic_nrunning > 0) { if (!(sc->sc_flags & IWN_FLAG_RUNNING)) { @@ -7480,10 +7480,10 @@ static void iwn5000_ampdu_tx_start(struct iwn_softc *sc, struct ieee80211_node *ni, int qid, uint8_t tid, uint16_t ssn) { - DPRINTF(sc, IWN_DEBUG_TRACE, "->Doing %s\n", __func__); - struct iwn_node *wn = (void *)ni; + DPRINTF(sc, IWN_DEBUG_TRACE, "->Doing %s\n", __func__); + /* Stop TX scheduler while we're changing its configuration. */ iwn_prph_write(sc, IWN5000_SCHED_QUEUE_STATUS(qid), IWN5000_TXQ_STATUS_CHGACT); diff --git a/src/libs/compat/freebsd11_network/fbsd_subr_sbuf.c b/src/libs/compat/freebsd11_network/fbsd_subr_sbuf.c index 087359cc27..4fa0906eb4 100644 --- a/src/libs/compat/freebsd11_network/fbsd_subr_sbuf.c +++ b/src/libs/compat/freebsd11_network/fbsd_subr_sbuf.c @@ -56,6 +56,9 @@ __FBSDID("$FreeBSD$"); //static MALLOC_DEFINE(M_SBUF, "sbuf", "string buffers"); #define SBMALLOC(size) malloc(size) #define SBFREE(buf) free(buf) +#if __GNUC__ == 2 +# define va_copy(to, from) __va_copy(to, from) +#endif #else /* _KERNEL */ #define KASSERT(e, m) #define SBMALLOC(size) calloc(1, size) diff --git a/src/libs/compat/freebsd11_wlan/net80211/ieee80211_phy.h b/src/libs/compat/freebsd11_wlan/net80211/ieee80211_phy.h index 312c97fbb6..d3dd2e3cc3 100644 --- a/src/libs/compat/freebsd11_wlan/net80211/ieee80211_phy.h +++ b/src/libs/compat/freebsd11_wlan/net80211/ieee80211_phy.h @@ -95,9 +95,10 @@ ieee80211_ack_rate(const struct ieee80211_rate_table *rt, uint8_t rate) * If the caller wishes to use it for a basic rate, they should * clear the high bit first. */ + uint8_t cix; KASSERT(! (rate & 0x80), ("rate %d is basic/mcs?", rate)); - uint8_t cix = rt->info[rt->rateCodeToIndex[rate & IEEE80211_RATE_VAL]].ctlRateIndex; + cix = rt->info[rt->rateCodeToIndex[rate & IEEE80211_RATE_VAL]].ctlRateIndex; KASSERT(cix != (uint8_t)-1, ("rate %d has no info", rate)); return rt->info[cix].dot11Rate; } @@ -110,9 +111,10 @@ ieee80211_ctl_rate(const struct ieee80211_rate_table *rt, uint8_t rate) * If the caller wishes to use it for a basic rate, they should * clear the high bit first. */ + uint8_t cix; KASSERT(! (rate & 0x80), ("rate %d is basic/mcs?", rate)); - uint8_t cix = rt->info[rt->rateCodeToIndex[rate & IEEE80211_RATE_VAL]].ctlRateIndex; + cix = rt->info[rt->rateCodeToIndex[rate & IEEE80211_RATE_VAL]].ctlRateIndex; KASSERT(cix != (uint8_t)-1, ("rate %d has no info", rate)); return rt->info[cix].dot11Rate; } @@ -125,9 +127,10 @@ ieee80211_rate2phytype(const struct ieee80211_rate_table *rt, uint8_t rate) * If the caller wishes to use it for a basic rate, they should * clear the high bit first. */ + uint8_t rix; KASSERT(! (rate & 0x80), ("rate %d is basic/mcs?", rate)); - uint8_t rix = rt->rateCodeToIndex[rate & IEEE80211_RATE_VAL]; + rix = rt->rateCodeToIndex[rate & IEEE80211_RATE_VAL]; KASSERT(rix != (uint8_t)-1, ("rate %d has no info", rate)); return (enum ieee80211_phytype)rt->info[rix].phy; } diff --git a/src/libs/compat/freebsd11_wlan/net80211/ieee80211_var.h b/src/libs/compat/freebsd11_wlan/net80211/ieee80211_var.h index 97c05ef390..1a972a3de1 100644 --- a/src/libs/compat/freebsd11_wlan/net80211/ieee80211_var.h +++ b/src/libs/compat/freebsd11_wlan/net80211/ieee80211_var.h @@ -108,7 +108,7 @@ typedef void (*ieee80211vap_attach)(struct ieee80211vap *); struct ieee80211_appie { uint16_t ie_len; /* size of ie_data */ - uint8_t ie_data[]; /* user-specified IE's */ + uint8_t ie_data[0]; /* user-specified IE's */ }; struct ieee80211_tdma_param; @@ -465,7 +465,7 @@ struct ieee80211vap { int (*iv_key_alloc)(struct ieee80211vap *, struct ieee80211_key *, ieee80211_keyix *, ieee80211_keyix *); - int (*iv_key_delete)(struct ieee80211vap *, + int (*iv_key_delete)(struct ieee80211vap *, const struct ieee80211_key *); int (*iv_key_set)(struct ieee80211vap *, const struct ieee80211_key *); @@ -798,7 +798,7 @@ ieee80211_draintask(struct ieee80211com *ic, struct task *task) taskqueue_drain(ic->ic_tq, task); } -/* +/* * Key update synchronization methods. XXX should not be visible. */ static __inline void