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>
Wed, 20 Oct 2010 06:25:02 +0000 (23:25 -0700)
commitbd1cd9c20b15fdb8f23cd2fba5ff84154cf7ab5e
tree6f83ca7b99c4018f0b1285817319540a8c4ad0dc
parent38c3ee9b0b1222fcb84c6fe9da02ab2ff31e3faf
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