• Paul Mundt's avatar
    sparseirq: Allow early irq_desc allocation · 948cd529
    Paul Mundt authored
    Presently non-legacy IRQs have their irq_desc allocated with
    kzalloc_node(). This assumes that all callers of irq_to_desc_node_alloc()
    will be sufficiently late in the boot process that kmalloc is available.
    
    While porting sparseirq support to sh this blew up immediately, as at the
    time that we register the CPU's interrupt vector map only bootmem is
    available. Check slab_is_available() to work out which path to use.
    
    [ Impact: fix SH early boot crash with sparseirq enabled ]
    Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
    Acked-by: default avatarYinghai Lu <yinghai@kernel.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Mel Gorman <mel@csn.ul.ie>
    LKML-Reference: <20090522014008.GA2806@linux-sh.org>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    948cd529
handle.c 12.7 KB