[PATCH] ARM: DT/kernel: fix arch_match_cpu_phys_id to avoid erroneous match
Sudeep Holla
Sudeep.Holla at arm.com
Wed Jan 8 05:58:34 EST 2014
Hi Russell,
On 07/01/14 16:58, Mark Rutland wrote:
> Hi,
>
> I was just looking in devtree.c and I noticed this seems to have fallen
> by the wayside. Given that this fixes a possible bug and there have been
> no negative comments, I think it's good for mainline.
>
> Could you place this in the patch system, assuming Russell has no
> comments?
>
Can I put this in patch tracker if you have no objections ?
Regards,
Sudeep
> Cheers,
> Mark.
>
> On Mon, Oct 21, 2013 at 01:30:32PM +0100, Sudeep KarkadaNagesha wrote:
>> From: Sudeep KarkadaNagesha <sudeep.karkadanagesha at arm.com>
>>
>> The MPIDR contains specific bitfields(MPIDR.Aff{2..0}) which uniquely
>> identify a CPU, in addition to some non-identifying information and
>> reserved bits. The ARM cpu binding defines the 'reg' property to only
>> contain the affinity bits, and any cpu nodes with other bits set in
>> their 'reg' entry are skipped.
>>
>> As such it is not necessary to mask the phys_id with MPIDR_HWID_BITMASK,
>> and doing so could lead to matching erroneous CPU nodes in the device
>> tree. This patch removes the masking of the physical identifier.
>>
>> Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha at arm.com>
>> Acked-by: Mark Rutland <mark.rutland at arm.com>
>> Cc: Russell King <linux at arm.linux.org.uk>
>> ---
>> arch/arm/kernel/devtree.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/kernel/devtree.c b/arch/arm/kernel/devtree.c
>> index f35906b..41960fb 100644
>> --- a/arch/arm/kernel/devtree.c
>> +++ b/arch/arm/kernel/devtree.c
>> @@ -171,7 +171,7 @@ void __init arm_dt_init_cpu_maps(void)
>>
>> bool arch_match_cpu_phys_id(int cpu, u64 phys_id)
>> {
>> - return (phys_id & MPIDR_HWID_BITMASK) == cpu_logical_map(cpu);
>> + return phys_id == cpu_logical_map(cpu);
>> }
>>
>> /**
>> --
>> 1.8.1.2
>>
More information about the linux-arm-kernel
mailing list