On Thu, 2008-05-01 at 22:57 +0200, Frédéric Weisbecker wrote:
> 
>     When the code of the atheros hal does only modifiy a bit, the code
> from ath5k destroy the whole content of AR5K_SLEEP_CTL with 0.
> 
>     For example on ath5k_hw_set_power() on the AWAKE statement, the
> function awakes the card by performing this:
>     ath5k_hw_reg_write(ah, AR5K_SLEEP_CTL_SLE_WAKE,  AR5K_SLEEP_CTL);
> 
>     On the other side, ah_setPowerMode() performs this:
>     unsigned int val = ath5k_hw_reg_read(ah, AR5K_SLEEP_CTL);
>     ath5k_hw_reg_write(ah, val & 0xfffcffff, AR5K_SLEEP_CTL);

I don't know where you got the last two lines, but we absolutely should
not be using Atheros HAL code!

>     Here three bits are set to zero while the ath5k version set all of
> this register to zero. There is a similar thing with sleeping mode...
> 
>     I don't know if the other bits are useful but actually I tested
> with this new code and it changed nothing. I really don't know where
> is the bug. Perhaps the attach function forget some intializations...

Of course, we could check it the driver is wrongly setting some bits to
zero, but I don't think it's a big deal at this point.

What I clearly see in the driver is that it still uses the old EEPROM
layout for AR5007, whereas the new layout is completely different.  That
alone can account for all problems.

-- 
Regards,
Pavel Roskin
_______________________________________________
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel

Reply via email to