diff options
author | Jason Gerecke <killertofu@gmail.com> | 2015-08-05 18:45:30 -0400 |
---|---|---|
committer | Jiri Kosina <jikos@kernel.org> | 2015-08-10 04:47:10 -0400 |
commit | 64d0ed94f5dfde5efac15941128f60edf7f15c17 (patch) | |
tree | 37748961c94abf31da1f6e6d0ce7bf681afc7bd7 | |
parent | 3f14a63a544374225c17221a5058748360428dc3 (diff) |
HID: wacom: Do not repeatedly attempt to set device mode on error
As an extension of aef3156d7, there is no sense in repeatedly calling the
'wacom_set_report' and 'wacom_get_report' functions if they return an
error. Getting an error from them implies that the device is out to lunch:
either a hard error code was returned or repeated attempts at recovering
from a "soft" error all failed. In either case, doing even more retries is
not likely to resolve whatever is wrong.
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r-- | drivers/hid/wacom_sys.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/hid/wacom_sys.c b/drivers/hid/wacom_sys.c index 20d15c5fccec..6edb7d136476 100644 --- a/drivers/hid/wacom_sys.c +++ b/drivers/hid/wacom_sys.c | |||
@@ -335,7 +335,7 @@ static int wacom_set_device_mode(struct hid_device *hdev, int report_id, | |||
335 | if (error >= 0) | 335 | if (error >= 0) |
336 | error = wacom_get_report(hdev, HID_FEATURE_REPORT, | 336 | error = wacom_get_report(hdev, HID_FEATURE_REPORT, |
337 | rep_data, length, 1); | 337 | rep_data, length, 1); |
338 | } while ((error < 0 || rep_data[1] != mode) && limit++ < WAC_MSG_RETRIES); | 338 | } while (error >= 0 && rep_data[1] != mode && limit++ < WAC_MSG_RETRIES); |
339 | 339 | ||
340 | kfree(rep_data); | 340 | kfree(rep_data); |
341 | 341 | ||