kern/183428: commit references a PR
dfilter service
dfilter at FreeBSD.ORG
Thu Oct 31 02:10:01 UTC 2013
The following reply was made to PR kern/183428; it has been noted by GNATS.
From: dfilter at FreeBSD.ORG (dfilter service)
To: bug-followup at FreeBSD.org
Cc:
Subject: Re: kern/183428: commit references a PR
Date: Thu, 31 Oct 2013 02:05:01 +0000 (UTC)
Author: adrian
Date: Thu Oct 31 02:04:53 2013
New Revision: 257412
URL: http://svnweb.freebsd.org/changeset/base/257412
Log:
Don't treat the node as an 11n node if 11n rates are disabled.
For now, the AMRR code only knows about _either_ MCS or non-MCS rates.
It doesn't know how to downgrade (ie, doing 11b CCK rates if MCS0 isn't
reliable.)
PR: kern/183428
Modified:
head/sys/net80211/ieee80211_amrr.c
Modified: head/sys/net80211/ieee80211_amrr.c
==============================================================================
--- head/sys/net80211/ieee80211_amrr.c Thu Oct 31 02:03:30 2013 (r257411)
+++ head/sys/net80211/ieee80211_amrr.c Thu Oct 31 02:04:53 2013 (r257412)
@@ -131,6 +131,12 @@ amrr_deinit(struct ieee80211vap *vap)
free(vap->iv_rs, M_80211_RATECTL);
}
+/*
+ * Return whether 11n rates are possible.
+ *
+ * Some 11n devices may return HT information but no HT rates.
+ * Thus, we shouldn't treat them as an 11n node.
+ */
static int
amrr_node_is_11n(struct ieee80211_node *ni)
{
@@ -139,6 +145,8 @@ amrr_node_is_11n(struct ieee80211_node *
return (0);
if (ni->ni_chan == IEEE80211_CHAN_ANYC)
return (0);
+ if (IEEE80211_IS_CHAN_HT(ni->ni_chan) && ni->ni_htrates.rs_nrates == 0)
+ return (0);
return (IEEE80211_IS_CHAN_HT(ni->ni_chan));
}
_______________________________________________
svn-src-all at freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"
More information about the freebsd-wireless
mailing list