diff options
author | Thomas Pugliese <thomas.pugliese@gmail.com> | 2013-12-02 15:39:45 -0600 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-12-02 15:21:04 -0800 |
commit | 471e42ad148c05d091219096726d751684ebf918 (patch) | |
tree | 407fba0caeb3d553f86c8de029a9f34da39e03d1 /drivers/usb/serial | |
parent | 6161ae5f1f371e8ff52306d9a1893f5dec6f60a4 (diff) | |
download | op-kernel-dev-471e42ad148c05d091219096726d751684ebf918.zip op-kernel-dev-471e42ad148c05d091219096726d751684ebf918.tar.gz |
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')
0 files changed, 0 insertions, 0 deletions