2009/2/3 Bob Copeland <m...@bobcopeland.com>:
> On Sat, 31 Jan 2009 04:31:47 +0200, Nick Kossifidis wrote
>>  int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode,
>>       struct ieee80211_channel *channel, bool change_channel)
>
> Here's another thing I just noticed:
>
>>  {
>> +     u32 s_seq[10], s_ant, s_led[3], staid1_flags, tsf_up, tsf_lo;
>
> s_seq is now an array (we used to initialize s_seq to 0)
>
> [...]
>> +             if (change_channel) {
>> +                     /*
>> +                      * Save frame sequence count
>> +                      * For revs. after Oahu, only save
>> +                      * seq num for DCU 0 (Global seq num)
>> +                      */
>> +                     if (ah->ah_mac_srev < AR5K_SREV_AR5211) {
>> +
>> +                             for (i = 0; i < 10; i++)
>> +                                     s_seq[i] = ath5k_hw_reg_read(ah,
>> +                                             AR5K_QUEUE_DCU_SEQNUM(i));
>> +
>> +                     } else {
>> +                             s_seq[0] = ath5k_hw_reg_read(ah,
>> +                                             AR5K_QUEUE_DCU_SEQNUM(0));
>> +                     }
>
> We only save the DCU sequence values if changing a channel
>
> [...]
>
>>       if (ah->ah_version != AR5K_AR5210) {
>> -             ath5k_hw_reg_write(ah, s_seq, AR5K_QUEUE_DFS_SEQNUM(0));
>> +
>> +             if (ah->ah_mac_srev < AR5K_SREV_AR5211) {
>> +                     for (i = 0; i < 10; i++)
>> +                             ath5k_hw_reg_write(ah, s_seq[i],
>> +                                     AR5K_QUEUE_DCU_SEQNUM(i));
>> +             } else {
>> +                     ath5k_hw_reg_write(ah, s_seq[0],
>> +                             AR5K_QUEUE_DCU_SEQNUM(0));
>> +             }
>
> But always write it.  The old code did this too, the only difference
> was we explicitly initialized the s_seq[0] to 0.  Since it's an array,
> gcc won't warn about it but s_seq[] probably has random crap in it.
>

Nice catch ;-)

Another difference i remembered is that we now don't set the TPC
register to 3f (until we fix the whole tx power stuff). I'll try to
reproduce this with my ar2425 as it turns it also has problems.


-- 
GPG ID: 0xD21DB2DB
As you read this post global entropy rises. Have Fun ;-)
Nick
_______________________________________________
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel

Reply via email to