On 2014年06月14日 05:46, David Rientjes wrote: > On Fri, 13 Jun 2014, Lan Tianyu wrote: > >> How about this? >> >> - result = acpi_battery_update(battery, false); >> - if (result) >> + >> + /* >> + * Some machines'(E,G Lenovo Z480) ECs are not stable >> + * during boot up and this causes battery driver fails to be >> + * probed due to failure of getting battery information >> + * from EC sometimes. After several retries, the operation >> + * may work. So add retry code here and 20ms sleep between >> + * every retries. >> + */ >> + while (acpi_battery_update(battery, false) && retry--) >> + msleep(20); >> + if (!retry) { >> + result = -ENODEV; >> goto fail; >> + } >> + > > I think you want --retry and not retry--. My original purpose is to retry 5 times after the first try fails. If use "--retry" here, it just retries 4 times. > Otherwise it's possible for the > final call to acpi_battery_update() to succeed and now it's returning > -ENODEV. > Yes, it maybe and I will change code like the following. while ((result = acpi_battery_update(battery, false)) && retry--) msleep(20); if (result) goto fail; -- Best regards Tianyu Lan -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html