2010/6/29 Felix Fietkau <nbd@xxxxxxxxxxx>: > I had a similar thought about the multiple invocations thing. I think > that's a good approach in general, but we need to ensure that we make it > safe. > The main point of this function is to detect baseband hangs. If we > experience such a hang, I'm not sure we will always get enough > interrupts to do multiple consecutive tests. > One way to make it safe would be to reschedule the tasklet each time we > ignore the result of the ath9k_hw_check_alive(), that way we keep the > detection time low as well. Maybe we could also use a timer for leaving > 10 ms time between attempts. The xmit logic has sc->tx_complete_work that periodically checks if the tx is hung and resets the chip if so. Maybe we could refactor that into a common periodic health checkup task in main.c that could call into both xmit.c and recv.c? Or does ath9k_hw_check_alive() have to run in the interrupt context in some way? > - Felix /Björn -- 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