Patch submitted to lm-sensors@lm-sensors.org, here: http://lists.lm-sensors.org/pipermail/lm-sensors/2010-January/027606.html --- drivers/hwmon/asus_atk0110.c.orig 2010-01-07 00:07:45.000000000 +0100 +++ drivers/hwmon/asus_atk0110.c 2010-01-12 19:38:48.066204943 +0100 @@ -1141,12 +1141,7 @@ static int atk_add(struct acpi_device *d buf.length = ACPI_ALLOCATE_BUFFER; ret = acpi_evaluate_object_typed(data->atk_handle, BOARD_ID, NULL, &buf, ACPI_TYPE_PACKAGE); - if (ret != AE_OK) { - dev_dbg(&device->dev, "atk: method MBIF not found\n"); - err = -ENODEV; - goto out; - } - + if (ret == AE_OK) { obj = buf.pointer; if (obj->package.count >= 2 && obj->package.elements[1].type == ACPI_TYPE_STRING) { @@ -1154,6 +1149,15 @@ static int atk_add(struct acpi_device *d obj->package.elements[1].string.pointer); } ACPI_FREE(buf.pointer); + } else { + /* + * Some DSDTs do not have the MBIF method, but this should + * not be treated as fatal error! just mention this fact + * and continue. + */ + dev_dbg(&device->dev, + "atk: method MBIF not found, continuing...\n"); + } /* Check for hwmon methods: first check "old" style methods; note that * both may be present: in this case we stick to the old interface;