Re: [PATCH v7 14/16] usb: resume (wakeup) child device when port is powered on

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 1 May 2014, Dan Williams wrote:

> I've been testing this and the pm_request_resume() ends up leaving the
> usb device enabled indefinitely.  It needs to be paired with a
> pm_runtime_autosuspend(), but at that point why not just add a
> usb_autoresume_device_async() helper.

Why didn't pm_request_resume() result in an autosuspend?  I just tested
this patch on my system:


Index: usb-3.15/drivers/usb/core/sysfs.c
===================================================================
--- usb-3.15.orig/drivers/usb/core/sysfs.c
+++ usb-3.15/drivers/usb/core/sysfs.c
@@ -11,6 +11,7 @@
 
 
 #include <linux/kernel.h>
+#include <linux/pm_runtime.h>
 #include <linux/string.h>
 #include <linux/usb.h>
 #include <linux/usb/quirks.h>
@@ -55,6 +56,8 @@ static ssize_t bMaxPower_show(struct dev
 	if (actconfig)
 		rc = sprintf(buf, "%dmA\n", usb_get_max_power(udev, actconfig));
 	usb_unlock_device(udev);
+	dev_info(dev, "calling request_resume\n");
+	pm_request_resume(dev);
 	return rc;
 }
 static DEVICE_ATTR_RO(bMaxPower);


With no USB devices plugged into bus 1 and the root hub suspended, 
doing "cat /sys/bus/usb/devices/usb1/bMaxPower" caused the root hub to 
resume and suspend again shortly thereafter.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux