diff mbox

x86, acpi: Handle lapic/x2apic entries in MADT

Message ID 20150826114250.GA11863@red-moon (mailing list archive)
State Not Applicable, archived
Delegated to: Rafael Wysocki
Headers show

Commit Message

Lorenzo Pieralisi Aug. 26, 2015, 11:42 a.m. UTC
Hi Lukasz,

On Wed, Aug 26, 2015 at 11:43:04AM +0100, Marc Zyngier wrote:
> Hi Lukasz,
> 
> On 26/08/15 08:04, Anaczkowski, Lukasz wrote:
> > On Monday, August 3, 2015 8:26 PM
> > Lukasz Anaczkowski <lukasz.anaczkowski@intel.com> wrote:
> > 
> >> v2: Fixed ARM64 syntax error
> > 
> > Hi Marc,
> > 
> > Does this patch look ok now?

No it does not, it seems to break arm64, I put together a fix
below. I do not think the way you handle the count increment
in acpi_parse_entries() is correct anyway, since you increment
it only if max_entries != 0, which changes mainline behaviour.

Thanks,
Lorenzo

-- >8 --
diff mbox

Patch

diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c
index d98b866..ca5591d 100644
--- a/drivers/irqchip/irq-gic.c
+++ b/drivers/irqchip/irq-gic.c
@@ -1101,7 +1101,7 @@  gic_v2_acpi_init(struct acpi_table_header *table)
 	count = acpi_parse_entries(ACPI_SIG_MADT,
 				   sizeof(struct acpi_table_madt),
 				   table, &gic_proc, 1, 0);
-	if (count <= 0) {
+	if (gic_proc.count <= 0) {
 		pr_err("No valid GICC entries exist\n");
 		return -EINVAL;
 	}
@@ -1117,7 +1117,7 @@  gic_v2_acpi_init(struct acpi_table_header *table)
 	count = acpi_parse_entries(ACPI_SIG_MADT,
 				   sizeof(struct acpi_table_madt),
 				   table, &gic_proc, 1, 0);
-	if (count <= 0) {
+	if (gic_proc.count <= 0) {
 		pr_err("No valid GICD entries exist\n");
 		return -EINVAL;
 	} else if (count > 1) {