On Thu, Feb 02, 2012 at 01:35:22PM +0100, Felix Fietkau wrote: > On 2012-02-02 5:25 AM, Seth Forshee wrote: > > I recently updated a machine with AR9285 wireless from kernel version > > 3.0 to 3.2 and saw that wireless had become slow and unreliable. It > > seems that the problem is extremely frequent CTS timeouts, which began > > happening with commit adb5066 (ath9k_hw: do not apply the 2.4 ghz ack > > timeout workaround to cts). Restoring the CTS timeout to the value prior > > to this commit on top of 3.2 gets performance back to what it was with > > 3.0. > > > > I don't have any other ath9k cards lying around, but various other cards > > are working fine with this router. Any ideas what's wrong here? > Please try this patch: > > --- a/drivers/net/wireless/ath/ath9k/hw.c > +++ b/drivers/net/wireless/ath/ath9k/hw.c > @@ -1061,13 +1061,16 @@ void ath9k_hw_init_global_settings(struc > > /* > * Workaround for early ACK timeouts, add an offset to match the > - * initval's 64us ack timeout value. > + * initval's 64us ack timeout value. Use 48us for the CTS timeout. > * This was initially only meant to work around an issue with delayed > * BA frames in some implementations, but it has been found to fix ACK > * timeout issues in other cases as well. > */ > - if (conf->channel && conf->channel->band == IEEE80211_BAND_2GHZ) > + if (conf->channel && conf->channel->band == IEEE80211_BAND_2GHZ) { > acktimeout += 64 - sifstime - ah->slottime; > + ctstimeout += 48 - sifstime - ah->slottime; > + } > + > > ath9k_hw_set_sifs_time(ah, sifstime); > ath9k_hw_setslottime(ah, slottime); > The wireless seems to be working fine with this patch. -- 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