Am Mittwoch, 12. Oktober 2011, 18:16:51 schrieb Matthew Garrett:
On Wed, Oct 12, 2011 at 11:28:06AM -0400, Alan Stern wrote:
quoted
Well, if the usage counter is 0 then you wouldn't want to call
usb_put_interface_async(). On the other hand, if the usage counter is
0 then by definition the device isn't in use, so you shouldn't need to
fail an autosuspend request -- not unless it races with an I/O event.
Yeah. Plausibly the model we have in hid is wrong at the moment - rather
than set flags that block suspend, it might make more sense to take
references. It'd complicate things a little, in that we'd have to take
more care in terms of keeping track of the state.
I am afraid references are very hard to take there because it needs to be done
in interrupt.
Regards
Oliver