All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Lu Baolu <baolu.lu@linux.intel.com>,
	Alan Stern <stern@rowland.harvard.edu>
Subject: [PATCH 3.17 22/25] USB: Add device quirk for ASUS T100 Base Station keyboard
Date: Mon, 13 Oct 2014 04:25:15 +0200	[thread overview]
Message-ID: <20141013022455.233999089@linuxfoundation.org> (raw)
In-Reply-To: <20141013022454.289398272@linuxfoundation.org>

3.17-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Lu Baolu <baolu.lu@linux.intel.com>

commit ddbe1fca0bcb87ca8c199ea873a456ca8a948567 upstream.

This full-speed USB device generates spurious remote wakeup event
as soon as USB_DEVICE_REMOTE_WAKEUP feature is set. As the result,
Linux can't enter system suspend and S0ix power saving modes once
this keyboard is used.

This patch tries to introduce USB_QUIRK_IGNORE_REMOTE_WAKEUP quirk.
With this quirk set, wakeup capability will be ignored during
device configure.

This patch could be back-ported to kernels as old as 2.6.39.

Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/usb/core/hub.c     |    6 ++++--
 drivers/usb/core/quirks.c  |    4 ++++
 include/linux/usb/quirks.h |    3 +++
 3 files changed, 11 insertions(+), 2 deletions(-)

--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -1983,8 +1983,10 @@ void usb_set_device_state(struct usb_dev
 					|| new_state == USB_STATE_SUSPENDED)
 				;	/* No change to wakeup settings */
 			else if (new_state == USB_STATE_CONFIGURED)
-				wakeup = udev->actconfig->desc.bmAttributes
-					 & USB_CONFIG_ATT_WAKEUP;
+				wakeup = (udev->quirks &
+					USB_QUIRK_IGNORE_REMOTE_WAKEUP) ? 0 :
+					udev->actconfig->desc.bmAttributes &
+					USB_CONFIG_ATT_WAKEUP;
 			else
 				wakeup = 0;
 		}
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -159,6 +159,10 @@ static const struct usb_device_id usb_qu
 	/* USB3503 */
 	{ USB_DEVICE(0x0424, 0x3503), .driver_info = USB_QUIRK_RESET_RESUME },
 
+	/* ASUS Base Station(T100) */
+	{ USB_DEVICE(0x0b05, 0x17e0), .driver_info =
+			USB_QUIRK_IGNORE_REMOTE_WAKEUP },
+
 	{ }  /* terminating entry must be last */
 };
 
--- a/include/linux/usb/quirks.h
+++ b/include/linux/usb/quirks.h
@@ -41,4 +41,7 @@
  */
 #define USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL	0x00000080
 
+/* device generates spurious wakeup, ignore remote wakeup capability */
+#define USB_QUIRK_IGNORE_REMOTE_WAKEUP	0x00000200
+
 #endif /* __LINUX_USB_QUIRKS_H */



  parent reply	other threads:[~2014-10-13  2:32 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-13  2:24 [PATCH 3.17 00/25] 3.17.1-stable review Greg Kroah-Hartman
2014-10-13  2:24 ` [PATCH 3.17 01/25] ip6_gre: fix flowi6_proto value in xmit path Greg Kroah-Hartman
2014-10-13  2:24 ` [PATCH 3.17 02/25] net: systemport: fix bcm_sysport_insert_tsb() Greg Kroah-Hartman
2014-10-13  2:24 ` [PATCH 3.17 03/25] team: avoid race condition in scheduling delayed work Greg Kroah-Hartman
2014-10-13  2:24 ` [PATCH 3.17 04/25] hyperv: Fix a bug in netvsc_send() Greg Kroah-Hartman
2014-10-13  2:24 ` [PATCH 3.17 05/25] sctp: handle association restarts when the socket is closed Greg Kroah-Hartman
2014-10-13  2:24 ` [PATCH 3.17 06/25] 3c59x: fix bad split of cpu_to_le32(pci_map_single()) Greg Kroah-Hartman
2014-10-13  2:25 ` [PATCH 3.17 07/25] net_sched: copy exts->type in tcf_exts_change() Greg Kroah-Hartman
2014-10-13  2:25 ` [PATCH 3.17 08/25] irq_work: Introduce arch_irq_work_has_interrupt() Greg Kroah-Hartman
2014-10-13  2:25 ` [PATCH 3.17 09/25] irq_work: Force raised irq work to run on irq work interrupt Greg Kroah-Hartman
2014-10-13  2:25 ` [PATCH 3.17 10/25] x86: Tell irq work about self IPI support Greg Kroah-Hartman
2014-10-13  2:25 ` [PATCH 3.17 11/25] arm: " Greg Kroah-Hartman
2014-10-13  2:25 ` [PATCH 3.17 12/25] PCI: pciehp: Fix wait time in timeout message Greg Kroah-Hartman
2014-10-13  2:25 ` [PATCH 3.17 13/25] uas: Add a quirk for rejecting ATA_12 and ATA_16 commands Greg Kroah-Hartman
2014-10-13  2:25 ` [PATCH 3.17 14/25] uas: Add no-report-opcodes quirk Greg Kroah-Hartman
2014-10-13  2:25 ` [PATCH 3.17 15/25] uas: Add US_FL_NO_ATA_1X quirk for Seagate (0bc2:ab20) drives Greg Kroah-Hartman
2014-10-13  2:25 ` [PATCH 3.17 16/25] uas: Add another ASM1051 usb-id to the uas blacklist Greg Kroah-Hartman
2014-10-13  2:25 ` [PATCH 3.17 17/25] usb: gadget: f_fs: signedness bug in __ffs_func_bind_do_descs() Greg Kroah-Hartman
2014-10-13  2:25 ` [PATCH 3.17 18/25] Revert "usb: gadget: composite: dequeue cdev->req before free it in composite_dev_cleanup" Greg Kroah-Hartman
2014-10-13  2:25 ` [PATCH 3.17 19/25] USB: serial: cp210x: added Ketra N1 wireless interface support Greg Kroah-Hartman
2014-10-13  2:25 ` [PATCH 3.17 20/25] USB: cp210x: add support for Seluxit USB dongle Greg Kroah-Hartman
2014-10-13  2:25 ` [PATCH 3.17 21/25] usb: musb: dsps: kill OTG timer on suspend Greg Kroah-Hartman
2014-10-13  2:25 ` Greg Kroah-Hartman [this message]
2014-10-13  2:25 ` [PATCH 3.17 23/25] crypto: caam - fix addressing of struct member Greg Kroah-Hartman
2014-10-13  2:25 ` [PATCH 3.17 24/25] driver/base/node: remove unnecessary kfree of node struct from unregister_one_node Greg Kroah-Hartman
2014-10-13  2:25 ` [PATCH 3.17 25/25] serial: 8250: Add Quark X1000 to 8250_pci.c Greg Kroah-Hartman
2014-10-13 11:28 ` [PATCH 3.17 00/25] 3.17.1-stable review Henrique de Moraes Holschuh
2014-10-13 13:23   ` Chuck Ebbert
2014-10-14  1:30     ` Greg Kroah-Hartman
2014-11-19 17:22     ` Greg Kroah-Hartman
2014-11-19 19:44       ` Paul E. McKenney
2014-11-19 20:16         ` Greg Kroah-Hartman
2014-11-19 20:35           ` Paul E. McKenney
2014-11-19 20:43             ` Greg Kroah-Hartman
2014-11-19 20:19         ` Holger Hoffstätte
2014-11-20  0:13       ` Frederic Weisbecker
2014-11-20  0:38         ` Greg Kroah-Hartman
2014-10-13 15:25   ` Linus Torvalds
2014-10-14  1:27     ` Greg Kroah-Hartman
2014-10-13 15:19 ` Guenter Roeck
2014-10-14  2:39   ` Greg Kroah-Hartman
2014-10-14  3:26     ` Greg Kroah-Hartman
2014-10-14 10:37       ` Satoru Takeuchi
2014-10-13 15:44 ` Romain Francoise
2014-10-13 15:57   ` Guenter Roeck
2014-10-13 21:03   ` George Spelvin
2014-10-14  1:27     ` Greg KH
2014-10-13 20:35 ` Shuah Khan
2014-10-14  2:40   ` Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141013022455.233999089@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=baolu.lu@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=stern@rowland.harvard.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.