|
@@ -22,6 +22,7 @@
|
|
|
|
|
|
|
|
|
|
#include <linux/slab.h>
|
|
#include <linux/slab.h>
|
|
|
|
+#include <linux/device.h>
|
|
#include <asm/unaligned.h>
|
|
#include <asm/unaligned.h>
|
|
|
|
|
|
#include "xhci.h"
|
|
#include "xhci.h"
|
|
@@ -1139,7 +1140,9 @@ int xhci_bus_suspend(struct usb_hcd *hcd)
|
|
* including the USB 3.0 roothub, but only if CONFIG_PM_RUNTIME
|
|
* including the USB 3.0 roothub, but only if CONFIG_PM_RUNTIME
|
|
* is enabled, so also enable remote wake here.
|
|
* is enabled, so also enable remote wake here.
|
|
*/
|
|
*/
|
|
- if (hcd->self.root_hub->do_remote_wakeup) {
|
|
|
|
|
|
+ if (hcd->self.root_hub->do_remote_wakeup
|
|
|
|
+ && device_may_wakeup(hcd->self.controller)) {
|
|
|
|
+
|
|
if (t1 & PORT_CONNECT) {
|
|
if (t1 & PORT_CONNECT) {
|
|
t2 |= PORT_WKOC_E | PORT_WKDISC_E;
|
|
t2 |= PORT_WKOC_E | PORT_WKDISC_E;
|
|
t2 &= ~PORT_WKCONN_E;
|
|
t2 &= ~PORT_WKCONN_E;
|