diff options
author | Thomas Pugliese <thomas.pugliese@gmail.com> | 2013-12-02 21:39:45 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-12-02 23:21:04 (GMT) |
commit | 471e42ad148c05d091219096726d751684ebf918 (patch) | |
tree | 407fba0caeb3d553f86c8de029a9f34da39e03d1 /drivers/usb/serial/spcp8x5.c | |
parent | 6161ae5f1f371e8ff52306d9a1893f5dec6f60a4 (diff) | |
download | linux-471e42ad148c05d091219096726d751684ebf918.tar.xz |
usb: wusbcore: fix deadlock in wusbhc_gtk_rekey
When multiple wireless USB devices are connected and one of the devices
disconnects, the host will distribute a new group key to the remaining
devicese using wusbhc_gtk_rekey. wusbhc_gtk_rekey takes the
wusbhc->mutex and holds it while it submits a URB to set the new key.
This causes a deadlock in wa_urb_enqueue when it calls a device lookup
helper function that takes the same lock.
This patch changes wusbhc_gtk_rekey to submit a work item to set the GTK
so that the URB is submitted without holding wusbhc->mutex.
Signed-off-by: Thomas Pugliese <thomas.pugliese@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/serial/spcp8x5.c')
0 files changed, 0 insertions, 0 deletions