• Thomas Pugliese's avatar
    wusbcore: fix kernel panic when disconnecting a wireless USB->serial device · f34a4837
    Thomas Pugliese authored
    commit ec58fad1feb76c323ef47efff1d1e8660ed4644c upstream.
    
    This patch fixes a kernel panic that can occur when disconnecting a
    wireless USB->serial device.  When the serial device disconnects, the
    device cleanup procedure ends up calling usb_hcd_disable_endpoint on the
    serial device's endpoints.  The wusbcore uses the ABORT_RPIPE command to
    abort all transfers on the given endpoint but it does not properly give
    back the URBs when the transfer results return from the HWA.  This patch
    prevents the transfer result processing code from bailing out when it sees
    a WA_XFER_STATUS_ABORTED result code so that these urbs are flushed
    properly by usb_hcd_disable_endpoint.  It also updates wa_urb_dequeue to
    handle the case where the endpoint has already been cleaned up when
    usb_kill_urb is called which is where the panic originally occurred.
    Signed-off-by: 's avatarThomas Pugliese <thomas.pugliese@gmail.com>
    Signed-off-by: 's avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    f34a4837
Name
Last commit
Last update
Documentation Loading commit data...
arch Loading commit data...
block Loading commit data...
crypto Loading commit data...
drivers Loading commit data...
firmware Loading commit data...
fs Loading commit data...
include Loading commit data...
init Loading commit data...
ipc Loading commit data...
kernel Loading commit data...
lib Loading commit data...
mm Loading commit data...
net Loading commit data...
samples Loading commit data...
scripts Loading commit data...
security Loading commit data...
sound Loading commit data...
tools Loading commit data...
usr Loading commit data...
virt/kvm Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
Kbuild Loading commit data...
Kconfig Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README Loading commit data...
REPORTING-BUGS Loading commit data...