linux/kernel/irq
Eric W. Biederman 1f80025e62 [PATCH] msi: simplify msi sanity checks by adding with generic irq code
Currently msi.c is doing sanity checks that make certain before an irq is
destroyed it has no more users.

By adding irq_has_action I can perform the test is a generic way, instead of
relying on a msi specific data structure.

By performing the core check in dynamic_irq_cleanup I ensure every user of
dynamic irqs has a test present and we don't free resources that are in use.

In msi.c this allows me to kill the attrib.state member of msi_desc and all of
the assciated code to maintain it.

To keep from freeing data structures when irq cleanup code is called to soon
changing dyanamic_irq_cleanup is insufficient because there are msi specific
data structures that are also not safe to free.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Andi Kleen <ak@suse.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Greg KH <greg@kroah.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-04 07:55:29 -07:00
..
Makefile [PATCH] genirq: add irq-chip support 2006-06-29 10:26:24 -07:00
autoprobe.c [PATCH] genirq: add handle_bad_irq() 2006-06-29 10:26:24 -07:00
chip.c [PATCH] msi: simplify msi sanity checks by adding with generic irq code 2006-10-04 07:55:29 -07:00
handle.c [PATCH] FRV: permit __do_IRQ() to be dispensed with 2006-09-26 08:48:53 -07:00
internals.h [PATCH] genirq: more verbose debugging on unexpected IRQ vectors 2006-06-29 10:26:25 -07:00
manage.c [PATCH] genirq: {en,dis}able_irq_wake() need refcounting too 2006-07-31 13:28:36 -07:00
migration.c [PATCH] genirq: irq: add moved_masked_irq 2006-10-04 07:55:26 -07:00
proc.c [PATCH] genirq: cleanup: no_irq_type -> no_irq_chip rename 2006-06-29 10:26:25 -07:00
resend.c [PATCH] genirq: fix typo in IRQ resend 2006-09-16 12:54:30 -07:00
spurious.c [PATCH] irq-flags: generic irq: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00