@@ -361,17 +361,22 @@ static int acpi_manager_get_info(struct acpi_sbs *sbs)
static int acpi_battery_get_info(struct acpi_battery *battery)
{
int i, result = 0;
-
- for (i = 0; i < ARRAY_SIZE(info_readers); ++i) {
- result = acpi_smbus_read(battery->sbs->hc,
- info_readers[i].mode,
- ACPI_SBS_BATTERY,
- info_readers[i].command,
- (u8 *) battery +
- info_readers[i].offset);
- if (result)
- break;
+ int j;
+
+ for (j = 0; j < 100; j++) {
+ for (i = 0; i < ARRAY_SIZE(info_readers); ++i) {
+ result = acpi_smbus_read(battery->sbs->hc,
+ info_readers[i].mode,
+ ACPI_SBS_BATTERY,
+ info_readers[i].command,
+ (u8 *) battery +
+ info_readers[i].offset);
+ if (result)
+ goto end;
+ }
}
+ end:
+ printk(result ? "FAIL" : "OK");
return result;
}