• Inaky Perez-Gonzalez's avatar
    wimax/i2400m: usb: fix device reset on autosuspend while not yet idle · e069c0cf
    Inaky Perez-Gonzalez authored
    When the i2400m is connected to a network, the host interface (USB)
    cannot be suspended. For that to happen, the device has to have
    negotiated with the basestation to put the link on IDLE state.
    
    If the host tries to put the device in standby while it is connected
    but not idle, the device resets, as the driver should not do that.
    
    To avoid triggering that, when the USB susbsytem requires the driver
    to autosuspend the device, the driver checks if the device is not yet
    idle. If it is not, the request is rejected (will be retried again
    later on after the autosuspend timeout). At some point the device will
    enter idle and the request will succeed (unless of course, there is
    network traffic, but at that point, there is no idle neither in the
    link or the host interface).
    Signed-off-by: default avatarInaky Perez-Gonzalez <inaky@linux.intel.com>
    e069c0cf
usb.c 18.1 KB