Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 214e270b authored by Alexander Gordeev's avatar Alexander Gordeev Committed by Ingo Molnar
Browse files

x86/apic/es7000+summit: Always make valid apicid from a cpumask



In case of invalid parameters cpu_mask_to_apicid_and() might
return apicid value of 0 (on Summit) or a uninitialized value
(on ES7000), although it is supposed to return apicid of cpu-0
at least. Fix the operation to always return a valid apicid.

Signed-off-by: default avatarAlexander Gordeev <agordeev@redhat.com>
Cc: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Link: http://lkml.kernel.org/r/20120614075026.GH3383@dhcp-26-207.brq.redhat.com


Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent 49ad3fd4
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -545,6 +545,8 @@ es7000_cpu_mask_to_apicid(const struct cpumask *cpumask, unsigned int *dest_id)
		apicid = new_apicid;
		round++;
	}
	if (!round)
		return -EINVAL;
	*dest_id = apicid;
	return 0;
}
+2 −0
Original line number Diff line number Diff line
@@ -282,6 +282,8 @@ summit_cpu_mask_to_apicid(const struct cpumask *cpumask, unsigned int *dest_id)
		apicid |= new_apicid;
		round++;
	}
	if (!round)
		return -EINVAL;
	*dest_id = apicid;
	return 0;
}