diff options
Diffstat (limited to 'drivers/input/tablet/wacom_sys.c')
| -rw-r--r-- | drivers/input/tablet/wacom_sys.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/input/tablet/wacom_sys.c b/drivers/input/tablet/wacom_sys.c index 8b5d2873f0c4..f46502589e4e 100644 --- a/drivers/input/tablet/wacom_sys.c +++ b/drivers/input/tablet/wacom_sys.c | |||
| @@ -673,13 +673,15 @@ static int wacom_resume(struct usb_interface *intf) | |||
| 673 | int rv; | 673 | int rv; |
| 674 | 674 | ||
| 675 | mutex_lock(&wacom->lock); | 675 | mutex_lock(&wacom->lock); |
| 676 | if (wacom->open) { | 676 | |
| 677 | /* switch to wacom mode first */ | ||
| 678 | wacom_query_tablet_data(intf, features); | ||
| 679 | |||
| 680 | if (wacom->open) | ||
| 677 | rv = usb_submit_urb(wacom->irq, GFP_NOIO); | 681 | rv = usb_submit_urb(wacom->irq, GFP_NOIO); |
| 678 | /* switch to wacom mode if needed */ | 682 | else |
| 679 | if (!wacom_retrieve_hid_descriptor(intf, features)) | ||
| 680 | wacom_query_tablet_data(intf, features); | ||
| 681 | } else | ||
| 682 | rv = 0; | 683 | rv = 0; |
| 684 | |||
| 683 | mutex_unlock(&wacom->lock); | 685 | mutex_unlock(&wacom->lock); |
| 684 | 686 | ||
| 685 | return rv; | 687 | return rv; |
