2010/6/6 Nick Kossifidis <mickfl...@gmail.com>: > 2010/6/5 Benoit Papillault <benoit.papilla...@free.fr>: >> >> >> My feeling is that both RXDP & TXDP registers are not properly >> initialized after a reset causing duplicate in both directions. So I >> believe you should see duplicate on the TX side as well. >> > > We "read-and-clear" RXDP on hw_nic_reset (actually we do that for any > pending register writes -we need to ensure that all pending register > writes are complete by doing a DMA register read, docs suggest RXDP > and that's what we are doing on nic_reset, we need to change that > comment-) and restore it on ath5k_reset but RXDP/TXDP pointers > according to docs should stay unaffected by warm resets and RXDP is > not reported as read and clear (it shouldn't be because we read it on > rx_tasklet and we still have rx) so we don't need to re-initialize > them (eg. we should remove hw_set_rxdp from ath5k_rx_start when called > by ath5k_reset) . On the other hand MadWiFi/ath reinitialize rxdp and > i remember that some binary driver i checked (Mikrotik or ubnt) also > saves and restores TXDP pointers on hw_reset. So i don't know who is > wright, docs or other drivers... >
Also another thing, we stop rx/tx on each reset only if there is a channel change, since we do a full reset i think we should always stop rx/tx. -- 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