x86, xen: do multicall callbacks with interrupts disabled

We can't call the callbacks after enabling interrupts, as we may get a
nested multicall call, which would cause a great deal of havok.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Jeremy Fitzhardinge 2009-02-06 13:38:56 -08:00 committed by Ingo Molnar
parent 3d39e9d07b
commit c99608637e

View File

@ -170,8 +170,6 @@ void xen_mc_flush(void)
} else
BUG_ON(b->argidx != 0);
local_irq_restore(flags);
for (i = 0; i < b->cbidx; i++) {
struct callback *cb = &b->callbacks[i];
@ -179,6 +177,8 @@ void xen_mc_flush(void)
}
b->cbidx = 0;
local_irq_restore(flags);
WARN_ON(ret);
}