Re: [PATCH] usbnet: ignore get interface retval of -EINPROGRESS
flat view
From: Oliver Neukum <oliver@neukum.org>
Date: 2011-09-04 10:12:51
Am Samstag, 3. September 2011, 19:32:44 schrieb Jim Wylder: Hi,
Thanks for the quick feedback. True usbnet_start_xmit() could be running at anytime, but the usb_autopm_get_interface_async() will only return -EINPROGRESS when rpm_resume detects that dev->power.runtime_status == RPM_RESUMING. My understanding is that for an asynchronous request, the promise that the device is resuming would be equivalent to cases where usb_autopm_get_interface_async() returns success.
If CONFIG_PM is set.
In all other cases, when we are not attempting to resume an already resuming interface, this change should have no impact. Are you recommending that I add an additional check for DEV_ASLEEP,
The check is already there but depending on CONFIG_PM.
possibly to decide whether to drop the or continue on? Or am I missing your point? I had not done anything similar because my understanding was that knowing that the device is in fact resuming would be sufficient.
At that point it is sufficient. Upon further thought it looks like your check is correct. We just need to make very sure that for the decision to queue or to submit EVENT_DEV_ASLEEP is relevant. Would you consider defining a macro with a nice name for the ==0 || == -EINPROGRESS check, so that any reader knows what this is about? This is because I doubt only usbnet is affected. Regards Oliver