Search Linux Wireless

Re: [PATCH 6/12] ath5k: Reorder calibration calls during reset and update hw_set_power

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

 



2008/7/22 Jiri Slaby <jirislaby@xxxxxxxxx>:
> On 07/20/2008 05:41 AM, Nick Kossifidis wrote:
>>
>>  * Update ath5k_hw_reset and add some more documentation about PHY
>> calibration
>>  * Fix ath5k_hw_set_power to use AR5K_SLEEP_CTL_SLE_ALLOW for Network
>> sleep
>>  * Preserve sleep duration field while setting AR5K_SLEEP_CTL and reduce
>> delays & checks for register's status (got this from decompiling & dumps, it
>> works for me but it needs testing)
>>
>>  Changes-licensed-under: ISC
>>  Signed-off-by: Nick Kossifidis <mickflemm@xxxxxxxxx>
>>
>> ---
>> diff --git a/drivers/net/wireless/ath5k/hw.c
>> b/drivers/net/wireless/ath5k/hw.c
>> index cab1a8a..4fb048c 100644
>> --- a/drivers/net/wireless/ath5k/hw.c
>> +++ b/drivers/net/wireless/ath5k/hw.c
>
> [...]
>>
>> @@ -1461,6 +1496,7 @@ int ath5k_hw_stop_tx_dma(struct ath5k_hw *ah,
>> unsigned int queue)
>>                  /* Stop queue */
>>                ath5k_hw_reg_write(ah, tx_queue, AR5K_CR);
>> +               ath5k_hw_reg_read(ah, AR5K_CR);
>
> This one was in my patch already.
>

Sorry, i just got that from decompiling/tracing registers and put it
there, i didn't noticed that you had already fixed it (your patches
were mostly for base.c, i didn't notice your changes in hw.c)...

>>        } else {
>>                /*
>>                 * Schedule TX disable and wait until queue is empty
>> @@ -1705,6 +1741,7 @@ enum ath5k_int ath5k_hw_set_intr(struct ath5k_hw
>> *ah, enum ath5k_int new_mask)
>
> Adding from the code:
>        /*
>         * Disable card interrupts to prevent any race conditions
>>
>>         * (they will be re-enabled afterwards).
>>         */
>>        ath5k_hw_reg_write(ah, AR5K_IER_DISABLE, AR5K_IER);
>> +       ath5k_hw_reg_read(ah, AR5K_IER);
>
> Is this first flush needed? Writes cannot be reordered, they are just
> asynchronous and flushed below. What race is this against? The interrupt
> might be processed (or pending) at this moment on other processor anyway.
>

I think i also got that from decompiling, i'll check it out but i
guess patch can go in until then, the whole series also adds RF2425
support and many people want that (mostly eeepc users).

-- 
GPG ID: 0xD21DB2DB
As you read this post global entropy rises. Have Fun ;-)
Nick
--
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