diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c index f9ba601f671e..f7e7041c39c9 100644 --- a/drivers/acpi/battery.c +++ b/drivers/acpi/battery.c @@ -689,9 +689,13 @@ static ssize_t acpi_battery_alarm_store(struct device *dev, { unsigned long x; struct acpi_battery *battery = to_acpi_battery(dev_get_drvdata(dev)); + int err; - if (sscanf(buf, "%lu\n", &x) == 1) - battery->alarm = x/1000; + err = kstrtoul(buf, 10, &x); + if (err) + return err; + + battery->alarm = x / 1000; if (acpi_battery_present(battery)) acpi_battery_set_alarm(battery); return count;