Search Linux Wireless

Re: [ath9k-devel] [PATCHv2] ath9k_hw: Handle AR_INTR_SYNC_HOST1_FATAL on AR9003

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

 



On Fri, Oct 05, 2012 at 09:21:40AM -0700, Adrian Chadd wrote:
> On 5 October 2012 05:34, Felix Fietkau <nbd@xxxxxxxxxxx> wrote:
> 
> > ---
> > --- a/drivers/net/wireless/ath/ath9k/ani.c
> > +++ b/drivers/net/wireless/ath/ath9k/ani.c
> > @@ -307,7 +307,8 @@ void ath9k_ani_reset(struct ath_hw *ah,
> >                 if (IS_CHAN_2GHZ(chan)) {
> >                         ah->ani_function = (ATH9K_ANI_SPUR_IMMUNITY_LEVEL |
> >                                             ATH9K_ANI_FIRSTEP_LEVEL);
> > -                       if (AR_SREV_9300_20_OR_LATER(ah))
> > +                       if (AR_SREV_9300_20_OR_LATER(ah) &&
> > +                           ah->caps.rx_chainmask != 1)
> >                                 ah->ani_function |= ATH9K_ANI_MRC_CCK;
> >                 } else
> >                         ah->ani_function = 0;
> 
> Well, is it a RX chainmask thing, or is it a chip thing?
> 
> It's totally possible to have an RX chainmask of say 0x2 or 0x4..

What are you trying to tell us?

> Also to figure out which registers triggered the interrupt is likely
> going to be a bit .. special. Maybe keep a circular buffer of the last
> N register accesses and dump them in time order whenever you get an
> interrupt.

Maybe you missed that part of the conversation, but this was exactly what I
did. You can even find one of my debug patches which implements it (but many
fancy hacks are missing).

Kind regards,
	Sven

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux