radeonfb can be re-entered.
Hmmm :-/
In that case, I have a patch which implements both of Linus's suggestions,
making OUTPLL()/INPLL() inlines and making the caller responsible for
taking the register lock when calling OUTPLL()/INPLL().
On the upside, the number of lockings goes down from 159 to 24.
On the downside, that means about 70 more lines of code via:
from 48 spin lock & unlock lines and 17 'flags' decls
I'll leave it up to your discretion whether to apply.
It's probably better to move to such locking, indeed. Just make sure
you don't keep the lock on the wait_for_* loops though (haven't looked
at the code in detail yet).
Ben.
-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com