Skip to content
  • Jon Hunter's avatar
    irqchip/gic: Return an error if GIC initialisation fails · dc9722cc
    Jon Hunter authored
    
    
    If the GIC initialisation fails, then currently we do not return an error
    or clean-up afterwards. Although for root controllers, this failure may be
    fatal anyway, for secondary controllers, it may not be fatal and so return
    an error on failure and clean-up.
    
    Update the functions gic_cpu_init() and gic_pm_init() to return an error
    instead of calling BUG() and perform any necessary clean-up.
    
    For non-banked GIC controllers, make sure that we free any memory
    allocated if we fail to initialise the IRQ domain. Please note that
    free_percpu() only frees memory if the pointer passed to it is not NULL
    and so it is unnecessary to check if both pointers are valid or not.
    
    Signed-off-by: default avatarJon Hunter <jonathanh@nvidia.com>
    Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    dc9722cc