From: Ping Cheng Date: Wed, 14 Apr 2010 06:07:52 +0000 (-0700) Subject: Input: wacom - switch mode upon system resume X-Git-Tag: v2.6.35-rc1~44^2~45^2 X-Git-Url: http://ftp.safe.ca/?a=commitdiff_plain;h=38101475f937c5dc0baf43a9e0c7613dbeb94d5a;p=safe%2Fjmp%2Flinux-2.6 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 Reported-and-tested-by: Anton Anikin Signed-off-by: Dmitry Torokhov --- diff --git a/drivers/input/tablet/wacom_sys.c b/drivers/input/tablet/wacom_sys.c index 8b5d287..f465025 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) int rv; 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); - /* switch to wacom mode if needed */ - if (!wacom_retrieve_hid_descriptor(intf, features)) - wacom_query_tablet_data(intf, features); - } else + else rv = 0; + mutex_unlock(&wacom->lock); return rv;