kernel - Fix another hard critical section issue with syscons, revamp locking
authorMatthew Dillon <dillon@apollo.backplane.com>
Wed, 20 Oct 2010 06:25:02 +0000 (23:25 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sun, 24 Oct 2010 16:32:47 +0000 (09:32 -0700)
commit6f7504802c1a13544dfb6bc5dab2b9488a42c0be
tree7a21e0c61b25515db3f44b9198924cb7a8e333b4
parentc40689e9b134213e4a3e29c2548d0ec47c7dd40b
kernel - Fix another hard critical section issue with syscons, revamp locking

* Use the new mtx_spinlock() facility instead of spinlock().  The new
  facility supports reetrant locks.

* Call all sc_*() functions with the syscons lock held.

* Fix an issue in blink_screen() where a hard critical section panic
  could potentially occur.

* Fix an issue in sc_puts() where adjusting the keyboard LED could still
  cause a hard critical section panic.  We just let the keyboard LED state
  be wrong for now.
sys/dev/misc/syscons/syscons.c