Steve Glendinning [off-list ref] writes:
Hi Bjorn,
On 27 November 2012 17:21, Steve Glendinning [off-list ref] wrote:
quoted
Hi Bjorn,
quoted
quoted
+ smsc75xx_set_feature(dev, USB_DEVICE_REMOTE_WAKEUP);
As mentioned in another comment to the smsc95xx driver: This is weird.
Do you really need to do that?
This is an USB interface driver. The USB device is handled by the
generic "usb" driver, which will do the right thing. See
drivers/usb/generic.c and drivers/usb/core/hub.c
Thanks, I've tested removing all these calls from the driver and
wakeup functionality seems to still work.
I'll resubmit my smsc75xx enhancement patchset with this change once
I've done some more testing.
Further testing shows that removing these calls stop wakeup from
system suspend working (although don't appear to impact runtime
autosuspend). Have I missed a flag or somewhere that causes
udev->do_remote_wakeup to be set in the code you posted?
udev->do_remote_wakeup is set in choose_wakeup() in
drivers/usb/core/driver.c. AFAICS it is always set as long as
device_may_wakeup(&udev->dev) is true.
But I am just trying to get a grasp of this code. Others on the
linux-usb list will know these things much better than me...
Just a thought: Did you remember to remove the clear_feature you have in
resume?
Bjørn
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html