• Will Deacon's avatar
    ARM: 7586/1: sp804: set cpumask to cpu_possible_mask for clock event device · ea3aacf5
    Will Deacon authored
    The SP804 driver statically initialises the cpumask of the clock event
    device to be cpu_all_mask, which is derived from the compile-time
    constant NR_CPUS. This breaks SMP_ON_UP systems where the interrupt
    controller handling the sp804 doesn't have the irq_set_affinity callback
    on the irq_chip, because the common timer code fails to identify the
    device as cpu-local and ends up treating it as a broadcast device
    instead.
    
    This patch fixes the problem by using cpu_possible_mask at runtime,
    which will correctly represent the possible CPUs when SMP_ON_UP is being
    used.
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    ea3aacf5
timer-sp.c 4.56 KB