Search Linux Wireless

Re: [PATCH v3 00/12] ath9k_hw: complete support for AR9271

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 15, 2010 at 05:09:04PM -0700, Luis R. Rodriguez wrote:
> On Mon, Mar 15, 2010 at 5:05 PM, Felix Fietkau <nbd@xxxxxxxxxxx> wrote:
> > On 2010-03-16 12:55 AM, Luis R. Rodriguez wrote:
> >> On Mon, Mar 15, 2010 at 4:52 PM, Felix Fietkau <nbd@xxxxxxxxxxx> wrote:
> >>> On 2010-03-16 12:49 AM, Luis R. Rodriguez wrote:
> >>>> diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
> >>>> index 00570fb..867cfaf 100644
> >>>> --- a/drivers/net/wireless/ath/ath9k/hw.c
> >>>> +++ b/drivers/net/wireless/ath/ath9k/hw.c
> >>>> @@ -807,6 +804,10 @@ void ath9k_hw_init_global_settings(struct ath_hw *ah)
> >>>>               acktimeout += 64 - sifstime - ah->slottime;
> >>>>
> >>>>       ath9k_hw_setslottime(ah, slottime);
> >>>> +
> >>>> +     if (AR_SREV_9271(ah))
> >>>> +             return;
> >>>> +
> >>>>       ath9k_hw_set_ack_timeout(ah, acktimeout);
> >>>>       ath9k_hw_set_cts_timeout(ah, acktimeout);
> >>>>       if (ah->globaltxtimeout != (u32) -1)
> >>>
> >>> Why leave out the ACK/CTS timeout setting? How does the hw handle ACK
> >>> and CTS timeouts?
> >>
> >> Right, so that's why I originally removed this hunk completely, I was
> >> under the impression you latest fix would have addressed any issues
> >> but it does not, we get association time outs. I think we'll have to
> >> review this further in order to support coverage class.
> > Are you sure the slot time was set properly by the callback?
> 
> Well ath9k_htc did not have it implemented, I just added the code for
> it, you know what.. I did not test modifying the ACK/CTS timeout *and*
> with the new slot time code I added to ath9k_htc, let me try that.

Hah, yeah that fixed this work around, it works fine with the below
patch, I went ahead and added the coverage class calllback while
at it.

John this means I don't have to resend this series out, we can just
skip patch #4, that's all. I'll do one more review with our team and
get back to you on a final ACK for this series.

Sujith, please review and consider integration of the below changes
on the ath9k_htc front.

  Luis

diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
index 3b4c636..e501599 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
@@ -1438,6 +1438,14 @@ static void ath9k_htc_bss_info_changed(struct ieee80211_hw *hw,
 		ath9k_htc_beacon_config(priv, vif, bss_conf);
 	}
 
+	if (changed & BSS_CHANGED_ERP_SLOT) {
+		if (bss_conf->use_short_slot)
+			ah->slottime = 9;
+		else
+			ah->slottime = 20;
+		ath9k_hw_init_global_settings(ah);
+	}
+
 	if (changed & BSS_CHANGED_BEACON)
 		ath9k_htc_beacon_update(priv, vif);
 
@@ -1567,6 +1575,18 @@ static int ath9k_htc_set_rts_threshold(struct ieee80211_hw *hw, u32 value)
 	return 0;
 }
 
+static void ath9k_htc_set_coverage_class(struct ieee80211_hw *hw,
+					 u8 coverage_class)
+{
+	struct ath9k_htc_priv *priv = hw->priv;
+	struct ath_hw *ah = priv->ah;
+
+	mutex_lock(&priv->mutex);
+	ah->coverage_class = coverage_class;
+	ath9k_hw_init_global_settings(ah);
+	mutex_unlock(&priv->mutex);
+}
+
 struct ieee80211_ops ath9k_htc_ops = {
 	.tx                 = ath9k_htc_tx,
 	.start              = ath9k_htc_start,
@@ -1587,4 +1607,5 @@ struct ieee80211_ops ath9k_htc_ops = {
 	.sw_scan_complete   = ath9k_htc_sw_scan_complete,
 	.set_rts_threshold  = ath9k_htc_set_rts_threshold,
 	.rfkill_poll        = ath9k_htc_rfkill_poll_state,
+	.set_coverage_class = ath9k_htc_set_coverage_class,
 };
--
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

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux