usb: Using correct way to clear usb3.0 device's remote wakeup feature.
authorLan Tianyu <tianyu.lan@intel.com>
Thu, 24 Jan 2013 02:31:28 +0000 (10:31 +0800)
committerSarah Sharp <sarah.a.sharp@linux.intel.com>
Thu, 24 Jan 2013 17:58:18 +0000 (09:58 -0800)
commit54a3ac0c9e5b7213daa358ce74d154352657353a
treeea13854ac6bf7ad3bf8f55225c6d4d39206e463c
parent58b2939b4d5a030eaec469d29812ab8477ee7e76
usb: Using correct way to clear usb3.0 device's remote wakeup feature.

Usb3.0 device defines function remote wakeup which is only for interface
recipient rather than device recipient. This is different with usb2.0 device's
remote wakeup feature which is defined for device recipient. According usb3.0
spec 9.4.5, the function remote wakeup can be modified by the SetFeature()
requests using the FUNCTION_SUSPEND feature selector. This patch is to use
correct way to disable usb3.0 device's function remote wakeup after suspend
error and resuming.

This should be backported to kernels as old as 3.4, that contain the
commit 623bef9e03a60adc623b09673297ca7a1cdfb367 "USB/xhci: Enable remote
wakeup for USB3 devices."

Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Cc: stable@vger.kernel.org
drivers/usb/core/hub.c
include/uapi/linux/usb/ch9.h