ia64/xen-unstable

changeset 10353:ea4829e30092

[LINUX] Remove the only use of evtchn_upcall_mask in common code.
Replace with an assertion of irq_disabled().
Signed-off-by: Keir Fraser <keir@xensource.com>
author kaf24@firebug.cl.cam.ac.uk
date Sat Jun 10 11:05:11 2006 +0100 (2006-06-10)
parents b8e8b6aad8c8
children ddc25d4ebf60
files linux-2.6-xen-sparse/drivers/xen/core/evtchn.c
line diff
     1.1 --- a/linux-2.6-xen-sparse/drivers/xen/core/evtchn.c	Fri Jun 09 17:05:09 2006 +0100
     1.2 +++ b/linux-2.6-xen-sparse/drivers/xen/core/evtchn.c	Sat Jun 10 11:05:11 2006 +0100
     1.3 @@ -717,6 +717,8 @@ void unmask_evtchn(int port)
     1.4  	unsigned int cpu = smp_processor_id();
     1.5  	vcpu_info_t *vcpu_info = &s->vcpu_info[cpu];
     1.6  
     1.7 +	BUG_ON(!irqs_disabled());
     1.8 +
     1.9  	/* Slow path (hypercall) if this is a non-local port. */
    1.10  	if (unlikely(cpu != cpu_from_evtchn(port))) {
    1.11  		struct evtchn_unmask unmask = { .port = port };
    1.12 @@ -733,11 +735,8 @@ void unmask_evtchn(int port)
    1.13  	 */
    1.14  	if (synch_test_bit(port, &s->evtchn_pending[0]) &&
    1.15  	    !synch_test_and_set_bit(port / BITS_PER_LONG,
    1.16 -				    &vcpu_info->evtchn_pending_sel)) {
    1.17 +				    &vcpu_info->evtchn_pending_sel))
    1.18  		vcpu_info->evtchn_upcall_pending = 1;
    1.19 -		if (!vcpu_info->evtchn_upcall_mask)
    1.20 -			force_evtchn_callback();
    1.21 -	}
    1.22  }
    1.23  EXPORT_SYMBOL_GPL(unmask_evtchn);
    1.24