• Eric W. Biederman's avatar
    [PATCH] msi: simplify msi sanity checks by adding with generic irq code · 1f80025e
    Eric W. Biederman authored
    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: default avatarEric 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: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    1f80025e
msi.c 27.3 KB