Changeset 3dea17f in mainline for kernel/genarch/src/kbd/ns16550.c


Ignore:
Timestamp:
2006-10-19T17:33:08Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f0450658
Parents:
80ca47e
Message:

Add mutual exclusion to keyboard grab and release
functions on sparc64, ppc32, mips32 and ia64.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/genarch/src/kbd/ns16550.c

    r80ca47e r3dea17f  
    8181void ns16550_grab(void)
    8282{
     83        ipl_t ipl = interrupts_disable();
     84
    8385        ns16550_ier_write(&ns16550, IER_ERBFI);         /* enable receiver interrupt */
    8486       
     
    8688                (void) ns16550_rbr_read(&ns16550);
    8789
     90        spinlock_lock(&ns16550_irq.lock);
    8891        ns16550_irq.notif_cfg.notify = false;
     92        spinlock_unlock(&ns16550_irq.lock);
     93        interrupts_restore(ipl);
    8994}
    9095
     
    9297void ns16550_release(void)
    9398{
     99        ipl_t ipl = interrupts_disable();
     100        spinlock_lock(&ns16550_irq.lock);
    94101        if (ns16550_irq.notif_cfg.answerbox)
    95102                ns16550_irq.notif_cfg.notify = true;
     103        spinlock_unlock(&ns16550_irq.lock);
     104        interrupts_restore(ipl);
    96105}
    97106
Note: See TracChangeset for help on using the changeset viewer.