From: kaf24@firebug.cl.cam.ac.uk Date: Sat, 10 Jun 2006 10:05:11 +0000 (+0100) Subject: [LINUX] Remove the only use of evtchn_upcall_mask in common code. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15972^2~20 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=6e9ae8d1e8ed38bbc1d649be4a536d9c6b5ca179;p=xen.git [LINUX] Remove the only use of evtchn_upcall_mask in common code. Replace with an assertion of irq_disabled(). Signed-off-by: Keir Fraser --- diff --git a/linux-2.6-xen-sparse/drivers/xen/core/evtchn.c b/linux-2.6-xen-sparse/drivers/xen/core/evtchn.c index be4f28b0b8..24abd80842 100644 --- a/linux-2.6-xen-sparse/drivers/xen/core/evtchn.c +++ b/linux-2.6-xen-sparse/drivers/xen/core/evtchn.c @@ -717,6 +717,8 @@ void unmask_evtchn(int port) unsigned int cpu = smp_processor_id(); vcpu_info_t *vcpu_info = &s->vcpu_info[cpu]; + BUG_ON(!irqs_disabled()); + /* Slow path (hypercall) if this is a non-local port. */ if (unlikely(cpu != cpu_from_evtchn(port))) { struct evtchn_unmask unmask = { .port = port }; @@ -733,11 +735,8 @@ void unmask_evtchn(int port) */ if (synch_test_bit(port, &s->evtchn_pending[0]) && !synch_test_and_set_bit(port / BITS_PER_LONG, - &vcpu_info->evtchn_pending_sel)) { + &vcpu_info->evtchn_pending_sel)) vcpu_info->evtchn_upcall_pending = 1; - if (!vcpu_info->evtchn_upcall_mask) - force_evtchn_callback(); - } } EXPORT_SYMBOL_GPL(unmask_evtchn);