xen/evtchn: ports start enabled
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
This commit is contained in:
parent
93afe0b75e
commit
0edce91dcd
1 changed files with 4 additions and 5 deletions
|
@ -108,10 +108,9 @@ irqreturn_t evtchn_interrupt(int irq, void *data)
|
||||||
|
|
||||||
u = get_port_user(port);
|
u = get_port_user(port);
|
||||||
|
|
||||||
if (WARN(!get_port_enabled(port),
|
WARN(!get_port_enabled(port),
|
||||||
"Interrupt for port %d, but apparently not enabled; per-user %p\n",
|
"Interrupt for port %d, but apparently not enabled; per-user %p\n",
|
||||||
port, u))
|
port, u);
|
||||||
goto out;
|
|
||||||
|
|
||||||
disable_irq_nosync(irq);
|
disable_irq_nosync(irq);
|
||||||
set_port_enabled(port, false);
|
set_port_enabled(port, false);
|
||||||
|
@ -127,7 +126,6 @@ irqreturn_t evtchn_interrupt(int irq, void *data)
|
||||||
} else
|
} else
|
||||||
u->ring_overflow = 1;
|
u->ring_overflow = 1;
|
||||||
|
|
||||||
out:
|
|
||||||
spin_unlock(&port_user_lock);
|
spin_unlock(&port_user_lock);
|
||||||
|
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
|
@ -265,6 +263,7 @@ static int evtchn_bind_to_user(struct per_user_data *u, int port)
|
||||||
*/
|
*/
|
||||||
BUG_ON(get_port_user(port) != NULL);
|
BUG_ON(get_port_user(port) != NULL);
|
||||||
set_port_user(port, u);
|
set_port_user(port, u);
|
||||||
|
set_port_enabled(port, true); /* start enabled */
|
||||||
|
|
||||||
rc = bind_evtchn_to_irqhandler(port, evtchn_interrupt, IRQF_DISABLED,
|
rc = bind_evtchn_to_irqhandler(port, evtchn_interrupt, IRQF_DISABLED,
|
||||||
u->name, (void *)(unsigned long)port);
|
u->name, (void *)(unsigned long)port);
|
||||||
|
|
Loading…
Add table
Reference in a new issue