• Johan Hovold's avatar
    USB: usb_wwan: fix urb leak at shutdown · 79eed03e
    Johan Hovold authored
    The delayed-write queue was never emptied at shutdown (close), something
    which could lead to leaked urbs if the port is closed before being
    runtime resumed due to a write.
    
    When this happens the output buffer would not drain on close
    (closing_wait timeout), and after consecutive opens, writes could be
    corrupted with previously buffered data, transfered with reduced
    throughput or completely blocked.
    
    Note that unbusy_queued_urb() was simply moved out of CONFIG_PM.
    
    Fixes: 383cedc3 ("USB: serial: full autosuspend support for the
    option driver")
    
    Cc: <stable@vger.kernel.org>	# v2.6.32
    Signed-off-by: default avatarJohan Hovold <jhovold@gmail.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    79eed03e
usb_wwan.c 17.4 KB