win-pvdrivers

changeset 771:358a1bf4efaf

properly disable interrupts for the N as well as the 0 routine in highsync
author James Harper <james.harper@bendigoit.com.au>
date Mon Feb 01 12:16:38 2010 +1100 (2010-02-01)
parents 7956021a5e60
children 47876d124c24
files xenpci/xenpci_highsync.c
line diff
     1.1 --- a/xenpci/xenpci_highsync.c	Sun Jan 31 22:49:50 2010 +1100
     1.2 +++ b/xenpci/xenpci_highsync.c	Mon Feb 01 12:16:38 2010 +1100
     1.3 @@ -99,6 +99,7 @@ XenPci_HighSyncCallFunctionN(
     1.4    FUNCTION_MSG("(CPU = %d)\n", KeGetCurrentProcessorNumber());
     1.5  
     1.6    KdPrint((__DRIVER_NAME "     CPU %d spinning...\n", KeGetCurrentProcessorNumber()));
     1.7 +  _disable(); //__asm cli;  
     1.8    KeRaiseIrql(highsync_info->sync_level, &old_irql);
     1.9    InterlockedIncrement(&highsync_info->nr_spinning);
    1.10    while(highsync_info->do_spin)
    1.11 @@ -108,6 +109,7 @@ XenPci_HighSyncCallFunctionN(
    1.12    }
    1.13    highsync_info->functionN(highsync_info->context);
    1.14    KeLowerIrql(old_irql);
    1.15 +  _enable(); //__asm sti;
    1.16    InterlockedDecrement(&highsync_info->nr_spinning);
    1.17    FUNCTION_EXIT();
    1.18    return;