powerpc/ibmebus: Get rid of the IRQ mapping in ibmebus_free_irq()
authorSebastien Dugue <sebastien.dugue@bull.net>
Thu, 27 Nov 2008 01:19:18 +0000 (01:19 +0000)
committerPaul Mackerras <paulus@samba.org>
Wed, 3 Dec 2008 09:46:36 +0000 (20:46 +1100)
ibmebus_free_irq() frees the IRQ but does not remove its mapping, which
results in stale entries in the map.

This fixes it by adding a call to irq_dispose_mapping() in
ibmebus_free_irq().

Signed-off-by: Sebastien Dugue <sebastien.dugue@bull.net>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/kernel/ibmebus.c

index 64299d28f36485d3441e0b59604228e141712cb1..7c6537777b2c3461c9cd72e413a2883cc9cc49d3 100644 (file)
@@ -231,6 +231,7 @@ void ibmebus_free_irq(u32 ist, void *dev_id)
        unsigned int irq = irq_find_mapping(NULL, ist);
 
        free_irq(irq, dev_id);
+       irq_dispose_mapping(irq);
 }
 EXPORT_SYMBOL(ibmebus_free_irq);