This patch doesn't apply to the .37 stable tree. If someone wants it applied there, please email the backport to [email protected]
thanks, greg k-h > commit: ff32d9cd2c4107224a28f39d3c72eec66d566e09 > From: Felix Fietkau <[email protected]> > Date: Thu, 21 Oct 2010 02:47:23 +0200 > Subject: [PATCH] ath9k_hw: fix potential spurious tx error bit interpretation > > According to documentation, AR_ExcessiveRetries, AR_Filtered and > AR_FIFOUnderrun are only valid if AR_FrmXmitOK is clear. > > Not checking this might result in suboptimal FIFO settings, unnecessary > retransmissions, or other connectivity issues. > > Signed-off-by: Felix Fietkau <[email protected]> > Cc: [email protected] > Signed-off-by: John W. Linville <[email protected]> > --- > drivers/net/wireless/ath/ath9k/ar9002_mac.c | 16 +++++++++------- > 1 files changed, 9 insertions(+), 7 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath9k/ar9002_mac.c > b/drivers/net/wireless/ath/ath9k/ar9002_mac.c > index 3b4c52c..f0268e5 100644 > --- a/drivers/net/wireless/ath/ath9k/ar9002_mac.c > +++ b/drivers/net/wireless/ath/ath9k/ar9002_mac.c > @@ -237,13 +237,15 @@ static int ar9002_hw_proc_txdesc(struct ath_hw *ah, > void *ds, > status = ACCESS_ONCE(ads->ds_txstatus1); > if (status & AR_FrmXmitOK) > ts->ts_status |= ATH9K_TX_ACKED; > - if (status & AR_ExcessiveRetries) > - ts->ts_status |= ATH9K_TXERR_XRETRY; > - if (status & AR_Filtered) > - ts->ts_status |= ATH9K_TXERR_FILT; > - if (status & AR_FIFOUnderrun) { > - ts->ts_status |= ATH9K_TXERR_FIFO; > - ath9k_hw_updatetxtriglevel(ah, true); > + else { > + if (status & AR_ExcessiveRetries) > + ts->ts_status |= ATH9K_TXERR_XRETRY; > + if (status & AR_Filtered) > + ts->ts_status |= ATH9K_TXERR_FILT; > + if (status & AR_FIFOUnderrun) { > + ts->ts_status |= ATH9K_TXERR_FIFO; > + ath9k_hw_updatetxtriglevel(ah, true); > + } > } > if (status & AR_TxTimerExpired) > ts->ts_status |= ATH9K_TXERR_TIMER_EXPIRED; > > _______________________________________________ > stable mailing list > [email protected] > http://linux.kernel.org/mailman/listinfo/stable _______________________________________________ stable mailing list [email protected] http://linux.kernel.org/mailman/listinfo/stable
