Input: wacom - switch mode upon system resume
When Wacom devices wake up from a sleep, the switch mode command (wacom_query_tablet_data) is needed before wacom_open is called. wacom_query_tablet_data should not be executed inside wacom_open since wacom_open is called more than once during probe. wacom_retrieve_hid_descriptor is removed from wacom_resume due to the fact that the required descriptors are stored properly upon system resume. Signed-off-by: Ping Cheng <pingc@wacom.com> Reported-and-tested-by: Anton Anikin <Anton@Anikin.name> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
parent
afb567e3fd
commit
38101475f9
|
@ -673,13 +673,15 @@ static int wacom_resume(struct usb_interface *intf)
|
||||||
int rv;
|
int rv;
|
||||||
|
|
||||||
mutex_lock(&wacom->lock);
|
mutex_lock(&wacom->lock);
|
||||||
if (wacom->open) {
|
|
||||||
|
/* switch to wacom mode first */
|
||||||
|
wacom_query_tablet_data(intf, features);
|
||||||
|
|
||||||
|
if (wacom->open)
|
||||||
rv = usb_submit_urb(wacom->irq, GFP_NOIO);
|
rv = usb_submit_urb(wacom->irq, GFP_NOIO);
|
||||||
/* switch to wacom mode if needed */
|
else
|
||||||
if (!wacom_retrieve_hid_descriptor(intf, features))
|
|
||||||
wacom_query_tablet_data(intf, features);
|
|
||||||
} else
|
|
||||||
rv = 0;
|
rv = 0;
|
||||||
|
|
||||||
mutex_unlock(&wacom->lock);
|
mutex_unlock(&wacom->lock);
|
||||||
|
|
||||||
return rv;
|
return rv;
|
||||||
|
|
Loading…
Reference in New Issue