Skip to contentSkip to conversation

ARM: BCM63xx: fix parameter to of_get_cpu_node in bcm63138_smp_boot_secondary

PATCH New Sudeep Holla 2 participants 3 messages Jul 10, 2015 – Jul 12, 2015

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: BCM63xx: fix parameter to of_get_cpu_node in bcm63138_smp_boot_secondary

of_get_cpu_node provides the device node associated with the given logical CPU and cpu_logical_map contains the physical id for each CPU in the logical ordering. Passing cpu_logical_map(cpu) to of_get_cpu_node is incorrect.

This patch fixes the issue by passing the logical CPU number to of_get_cpu_node

Cc Florian Fainelli <[email protected]>
Cc bcm-kernel-feedback-list at broadcom.com
---
 arch/arm/mach-bcm/bcm63xx_smp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Hi,

I found this accidentally when searching for cpu_logical_map. It's clearly a bug, it seem to be working fine as the physical and the logical CPU ordering is same most of the time.

Regards,
Sudeep

arch/arm/mach-bcm/bcm63xx_smp.c +1 -1
index 3f014f18cea5..b8e18cc8f237 100644
@@ -127,7 +127,7 @@ static int bcm63138_smp_boot_secondary(unsigned int cpu,
 	}
 
 	/* Locate the secondary CPU node */
-	dn = of_get_cpu_node(cpu_logical_map(cpu), NULL);
+	dn = of_get_cpu_node(cpu, NULL);
 	if (!dn) {
 		pr_err("SMP: failed to locate secondary CPU%d node\n", cpu);
 		ret = -ENODEV;
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/1 ARM: BCM63xx: fix parameter to of_get_cpu_node in bcm63138_smp_boot_secondary

Quoted 11 lines · Sudeep Holla

of_get_cpu_node provides the device node associated with the given logical CPU and cpu_logical_map contains the physical id for each CPU in the logical ordering. Passing cpu_logical_map(cpu) to of_get_cpu_node is incorrect.

This patch fixes the issue by passing the logical CPU number to of_get_cpu_node

Cc Florian Fainelli <[email protected]>
Cc bcm-kernel-feedback-list at broadcom.com
Quoted 9 lines
---
 arch/arm/mach-bcm/bcm63xx_smp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Hi,

I found this accidentally when searching for cpu_logical_map. It's clearly a bug, it seem to be working fine as the physical and the logical CPU ordering is same most of the time.

Good catch! Kevin, Arnd, Olof, if you have any "late late" fixes for 4.2-rcX, can you pick this one directly?

Thanks!

Quoted 18 lines

Regards,
Sudeep

arch/arm/mach-bcm/bcm63xx_smp.c +1 -1
index 3f014f18cea5..b8e18cc8f237 100644
@@ -127,7 +127,7 @@ static int bcm63138_smp_boot_secondary(unsigned int cpu,
 	}
 
 	/* Locate the secondary CPU node */
-	dn = of_get_cpu_node(cpu_logical_map(cpu), NULL);
+	dn = of_get_cpu_node(cpu, NULL);
 	if (!dn) {
 		pr_err("SMP: failed to locate secondary CPU%d node\n", cpu);
 		ret = -ENODEV;
Signature · 1 line
Florian
#2 lore raw

PATCH 1/1 ARM: BCM63xx: fix parameter to of_get_cpu_node in bcm63138_smp_boot_secondary

In reply to Sudeep Holla

Le 07/10/15 10:36, Sudeep Holla a ?crit :

Quoted 11 lines

of_get_cpu_node provides the device node associated with the given logical CPU and cpu_logical_map contains the physical id for each CPU in the logical ordering. Passing cpu_logical_map(cpu) to of_get_cpu_node is incorrect.

This patch fixes the issue by passing the logical CPU number to of_get_cpu_node

Cc Florian Fainelli <[email protected]>
Cc bcm-kernel-feedback-list at broadcom.com

Applied to soc/next, with the proper Fixes tag for this, thanks!

Signature · 1 line
Florian