[PATCH] mfd: Fix ACPI conflict check

From: Jean Delvare
Date: Sat Feb 18 2012 - 11:54:36 EST


The code is currently always checking the first resource of every
device only (several times.) This has been broken since the ACPI check
was added in February 2010 in commit
91fedede0338eb6203cdd618d8ece873fdb7c22c.

Fix the check to run on each resource individually, once.

Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx>
Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
---
I still believe that having ACPI checks in mfd-core is wrong to start
with. ACPI conflicts have become so frequent that this check if likely
to get a whole MFD chip to be unusable even if some of ifs functions
would be useable. For this reason I think the ACPI checks should be
the responsibility of the subdrivers. With this fix, even more
conflicts will happen, and I suspect more and more drivers will set
mfd_cell.ignore_resource_conflicts = true.

Still, if we have the check in place, let's do it right.

drivers/mfd/mfd-core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-3.3-rc3.orig/drivers/mfd/mfd-core.c 2012-01-06 11:21:11.000000000 +0100
+++ linux-3.3-rc3/drivers/mfd/mfd-core.c 2012-02-18 17:03:24.854788023 +0100
@@ -123,7 +123,7 @@ static int mfd_add_device(struct device
}

if (!cell->ignore_resource_conflicts) {
- ret = acpi_check_resource_conflict(res);
+ ret = acpi_check_resource_conflict(&res[r]);
if (ret)
goto fail_res;
}


--
Jean Delvare
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/