Messages in this thread | | | Date | Mon, 16 Jun 2014 18:27:54 -0700 (PDT) | From | David Rientjes <> | Subject | Re: [PATCH] ACPI/Battery: Retry to get Battery information if failed during probing |
| |
On Mon, 16 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; >
Looks good.
| |