commit | 3f5e554f669098c84c82ce75e7577f7e0f3fccde | [log] [tgz] |
---|---|---|
author | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | Fri May 28 15:28:27 2010 -0700 |
committer | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | Fri May 28 15:28:27 2010 -0700 |
tree | fb8147269b5f9b412e03e3539fdb2dd3cedc0ace | |
parent | 1a1a17cddbfb1f81222b3f18ee8530c41fbc3b82 [diff] |
xen/evtchn: don't do unbind_from_irqhandler under spinlock unbind_from_irqhandler can end up doing /proc operations, which can't happen under a spinlock. So before removing the IRQ handler, disable the irq under the port_user lock (masking the underlying event channel and making sure the irq handler isn't running concurrently and won't start running), then remove the handler without the lock. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>