-
由 Marcus Folkesson 提交于
If the device is unused and suspended, a call to open will cause the device to autoresume through the call to usb_autopm_get_interface(). input_dev->users is already incremented by the input subsystem, therefore this expression will always be evaluated to true: if (pegasus->dev->users && usb_submit_urb(pegasus->irq, GFP_NOIO) < 0) retval = -EIO; The same URB will then be fail when resubmitted in pegasus_open(). Introduce pegasus->is_open to keep track of the state instead. Signed-off-by: NMarcus Folkesson <marcus.folkesson@gmail.com> Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
553d16af