It's impossible to eliminate all warnings with all combinations of
kernels and compilers. Users are punished for using untested
combinations that should be OK. Other projects don't use -Werror and
nothing bad happens.
Future compilers would surely introduce new warnings. MadWifi doesn't
need to break because of that.
There is no way to make -Werror apply to MadWifi code but not to the
kernel headers. Linux kernel doesn't use -Werror, why should MadWifi?
Using -Werror creates a false sense of security. It's easy to assume
that the code is warning-free at least on the developers' systems.
However, broken code was committed in the past that would not compile at
all. Code quality means more that absence of warnings. It cannot be
ensured by -Werror.