diff options
author | Ian Campbell <Ian.Campbell@eu.citrix.com> | 2011-02-03 09:49:35 +0000 |
---|---|---|
committer | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2011-03-03 12:00:27 -0500 |
commit | 7214610475b2847a81478d96e4d3ba0bbe49598c (patch) | |
tree | 23d1751896bca0be6d90c59e81d1b41db6001114 /drivers/xen | |
parent | 89911501f3aae44a43984793341a3bf1f4c583c2 (diff) | |
download | blackbird-op-linux-7214610475b2847a81478d96e4d3ba0bbe49598c.tar.gz blackbird-op-linux-7214610475b2847a81478d96e4d3ba0bbe49598c.zip |
xen: events: do not free legacy IRQs
c514d00c8057 "xen: events: add xen_allocate_irq_{dynamic, gsi} and
xen_free_irq" correctly avoids reallocating legacy IRQs (which are
managed by the arch core) but erroneously did not prevent them being
freed.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'drivers/xen')
-rw-r--r-- | drivers/xen/events.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/xen/events.c b/drivers/xen/events.c index 06f2e61de691..accb37ad0944 100644 --- a/drivers/xen/events.c +++ b/drivers/xen/events.c @@ -434,6 +434,10 @@ static int xen_allocate_irq_gsi(unsigned gsi) static void xen_free_irq(unsigned irq) { + /* Legacy IRQ descriptors are managed by the arch. */ + if (irq < NR_IRQS_LEGACY) + return; + irq_free_desc(irq); } |