Ignore:
Timestamp:
Sep 26, 2008, 9:16:38 PM (17 years ago)
Author:
rjerant
Message:

Change interrupt handler to run with interrupts enabled

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GPL/branches/uniaud32-2.0/drv32/irq.cpp

    r362 r375  
    9393    ULONG       ulIrqNo;
    9494
    95     if( process_interrupt(ulSlotNo, &ulIrqNo) ) {
    96         cli();
    97         // We've cleared all service requests.  Send EOI and clear
    98         // the carry flag (tells OS/2 kernel that Int was handled).
    99         DevEOI( (WORD16)ulIrqNo );
    100         return TRUE;
     95   // enable interrupts that have higher priority we should
     96   // allow higher priority interrupts
     97   sti();
     98   if( process_interrupt(ulSlotNo, &ulIrqNo) ) {
     99       // We've cleared all service requests. 
     100       // Clear (disable) Interrupts, Send EOI
     101       // and clear the carry flag (tells OS/2 kernel that Int was handled).
     102       // Note carry flag is handled in setup.asm
     103       cli();
     104       DevEOI( (WORD16)ulIrqNo );
     105       return TRUE;
    101106   }
    102107   // Indicate Interrupt not serviced by setting carry flag before
Note: See TracChangeset for help on using the changeset viewer.