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

Reply via email to