git: kernel - Fix another hard critical section issue with syscons, revamp locking

Matthew Dillon dillon at crater.dragonflybsd.org
Tue Oct 19 23:28:32 PDT 2010


commit bd1cd9c20b15fdb8f23cd2fba5ff84154cf7ab5e
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Tue Oct 19 23:25:02 2010 -0700

    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.

Summary of changes:
 sys/dev/misc/syscons/syscons.c |  255 +++++++++++++++++++++++++---------------
 1 files changed, 161 insertions(+), 94 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/bd1cd9c20b15fdb8f23cd2fba5ff84154cf7ab5e


-- 
DragonFly BSD source repository





More information about the Commits mailing list