[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87y5hm9ap5.fsf@nemi.mork.no>
Date: Tue, 27 Nov 2012 19:12:38 +0100
From: Bjørn Mork <bjorn@...k.no>
To: Steve Glendinning <steve@...well.net>
Cc: netdev <netdev@...r.kernel.org>, linux-usb@...r.kernel.org
Subject: Re: [PATCH 1/2] smsc75xx: refactor entering suspend modes
Steve Glendinning <steve@...well.net> writes:
> Hi Bjorn,
>
> On 27 November 2012 17:21, Steve Glendinning <steve@...well.net> wrote:
>> Hi Bjorn,
>>
>>>> + 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 netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists