>From f8cba987220ae6cca98d662704256839968c6a61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Mork?= Date: Mon, 16 Jun 2014 17:26:05 +0200 Subject: [PATCH] usb: fix port runtime pm regression MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a partial revert of commit 9262c19d14c4 ("usb: disable port power control if not supported in wHubCharacteristics") Fixes: 9262c19d14c4 ("usb: disable port power control if not supported in wHubCharacteristics") Signed-off-by: Bjørn Mork --- drivers/usb/core/port.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/usb/core/port.c b/drivers/usb/core/port.c index 62036faf56c0..13a2ffb4b18a 100644 --- a/drivers/usb/core/port.c +++ b/drivers/usb/core/port.c @@ -411,15 +411,12 @@ int usb_hub_create_port_device(struct usb_hub *hub, int port1) pm_runtime_set_active(&port_dev->dev); - /* - * Do not enable port runtime pm if the hub does not support - * power switching. Also, userspace must have final say of - * whether a port is permitted to power-off. Do not enable - * runtime pm if we fail to expose pm_qos_no_power_off. + /* It would be dangerous if user space couldn't + * prevent usb device from being powered off. So don't + * enable port runtime pm if failed to expose port's pm qos. */ - if (hub_is_port_power_switchable(hub) - && dev_pm_qos_expose_flags(&port_dev->dev, - PM_QOS_FLAG_NO_POWER_OFF) == 0) + if (!dev_pm_qos_expose_flags(&port_dev->dev, + PM_QOS_FLAG_NO_POWER_OFF)) pm_runtime_enable(&port_dev->dev); device_enable_async_suspend(&port_dev->dev); -- 1.7.10.4