toshiba_acpi: Change touchpad store to check for invalid values

The function toshiba_touchpad_store is not checking
for invalid values and simply returns silently.

This patch checks for invalid values and returns accordingly.

Signed-off-by: Azael Avalos <coproscefalo@gmail.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
This commit is contained in:
Azael Avalos 2014-09-10 21:01:57 -06:00 committed by Darren Hart
parent 12962878fb
commit c8a41669a7
1 changed files with 10 additions and 4 deletions

View File

@ -1343,12 +1343,18 @@ static ssize_t toshiba_touchpad_store(struct device *dev,
{
struct toshiba_acpi_dev *toshiba = dev_get_drvdata(dev);
int state;
int ret;
/* Set the TouchPad on/off, 0 - Disable | 1 - Enable */
if (sscanf(buf, "%i", &state) == 1 && (state == 0 || state == 1)) {
if (toshiba_touchpad_set(toshiba, state) < 0)
return -EIO;
}
ret = kstrtoint(buf, 0, &state);
if (ret)
return ret;
if (state != 0 && state != 1)
return -EINVAL;
ret = toshiba_touchpad_set(toshiba, state);
if (ret)
return ret;
return count;
}