Hi Larry, I just wanted to notify you that I am building up a new dynamic debugging framework in bcm43xx-mac80211. Debugging in the driver is a mess, because you don't get enough useful information out of the driver.
My approach is to add boolean debugfs files to dynamically enable verbose (and/or expensive) debugging techniques at runtime, so one can easily track down problems without modifying kernel code. Currently my framework includes debugging features to debug the DMA-ring-overflow, the TX power adjustment and some periodic work debugging. The periodic work and TXpower debugging is probably also useful to you. The pwork debugging allows you do completely stop pwork or to run it faster (every 50msec, instead of every 1sec). This should help in tracking down races or things like that. We had that in the past... Here's the patch which adds the pwork debugging, so you get a clue what I'm talking about. The main new function is bcm43xx_debug(), which is used to check if a debugging feature is enabled. Compiles to 0 for nondebug-builds. http://bu3sch.de/gitweb?p=wireless-dev.git;a=commitdiff;h=402e3940d5e4d4f715ff434197c6b911e09317fc If you have an idea for a place where we should add a dynamic debugging feature, please tell me (and/or submit a patch). Adding a new dyndebug-feature is easy. Just add it to the enum in bcm43xx_debug.h and use the add_dyn_dbg() macro in bcm43xx_debug.c to create the file. (the file is removed automagically). And of course check for the flag somewhere in the code with bcm43xx_debug() ;) . Have fun. -- Greetings Michael. _______________________________________________ Bcm43xx-dev mailing list [email protected] https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
