On Mon September 27 2010 10:18:42 Bruno Randolf wrote: > On Tue September 21 2010 16:28:09 Rajkumar Manoharan wrote: > > This patch ensures fair beacon distribution in IBSS mode > > by configuring proper CWmin based on slot time. > > > > Signed-off-by: Rajkumar Manoharan <rmanoharan@xxxxxxxxxxx> > > --- > > > > drivers/net/wireless/ath/ath9k/htc_drv_beacon.c | 9 ++++++++- > > 1 files changed, 8 insertions(+), 1 deletions(-) > > > > diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_beacon.c > > b/drivers/net/wireless/ath/ath9k/htc_drv_beacon.c index bd1506e..1b72aa4 > > 100644 > > --- a/drivers/net/wireless/ath/ath9k/htc_drv_beacon.c > > +++ b/drivers/net/wireless/ath/ath9k/htc_drv_beacon.c > > @@ -235,7 +235,14 @@ void ath9k_htc_beaconq_config(struct ath9k_htc_priv > > *priv) ath9k_hw_get_txq_props(ah, qnum, &qi_be); > > > > qi.tqi_aifs = qi_be.tqi_aifs; > > > > - qi.tqi_cwmin = 4*qi_be.tqi_cwmin; > > + /* For WIFI Beacon Distribution > > + * Long slot time : 2x cwmin > > + * Short slot time : 4x cwmin > > + */ > > + if (ah->slottime == ATH9K_SLOT_TIME_20) > > + qi.tqi_cwmin = 2*qi_be.tqi_cwmin; > > + else > > + qi.tqi_cwmin = 4*qi_be.tqi_cwmin; > > > > qi.tqi_cwmax = qi_be.tqi_cwmax; > > > > if (!ath9k_hw_set_txq_props(ah, priv->beaconq, &qi)) { > > i am wondering - how does this relate to what i read in IEEE802.11-2007: > > 11.1.2.2 Beacon generation in an IBSS > > b) Calculate a random delay uniformly distributed in the range between > zero and twice aCWmin × aSlotTime, > > wouldn't that mean that cwmin for the beacon queue should be 0 and cwmax > should be 2x cwmin * slot time? > > if the beacon queue cwmin is higher than the best effort queue, it would > mean that the best effort queue gets precedence over beacon transmissions. > but we want beacons to get sent out in any case. > > also, what is the rationale behind using the best effort queue as a > reference for cwmin/cwmax? I'm following up my own message since I just stumbled across that paragraph, which IMHO would imply that the beacon queue should be based on AC_VO instead of AC_BE, if anything. [9.2.4.2 HCF contention-based channel access (EDCA): Management frames shall be sent using the access category AC_VO without being restricted by admission control procedures. A QoS STA shall also send management frames using the access category AC_VO before associating with any BSS, even if there is no QoS facility available in that BSS.] Also I still doubt that 4*qi_be.tqi_cwmin is correct concerning the standard paragraph which i quoted before. Did I miss something? Bruno -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html