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