OpenCloudOS-Kernel/drivers/usb/wusbcore
Thomas Pugliese 471e42ad14 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>
2013-12-02 15:21:04 -08:00
..
Kconfig USB: regroup all depends on USB within an if USB block 2013-04-09 16:49:07 -07:00
Makefile usb: makefile cleanup 2010-10-22 10:22:07 -07:00
cbaf.c USB: wusbcore: fix usb_dev leaks 2013-10-19 14:23:15 -07:00
crypto.c Fix common misspellings 2011-03-31 11:26:23 -03:00
dev-sysfs.c uwb: use dev_dbg() for debug messages 2008-12-22 18:22:50 +00:00
devconnect.c usb: wusbcore: fix deadlock in wusbhc_gtk_rekey 2013-12-02 15:21:04 -08:00
mmc.c USB: HWA: fix device probe failure 2013-06-24 16:20:43 -07:00
pal.c USB: HWA: fix device probe failure 2013-06-24 16:20:43 -07:00
reservation.c USB: HWA: fix device probe failure 2013-06-24 16:20:43 -07:00
rh.c wusbcore: fix root hub hub_status_data to only return > 0 if status has actually changed 2013-08-12 13:13:32 -07:00
security.c usb: wusbcore: fix deadlock in wusbhc_gtk_rekey 2013-12-02 15:21:04 -08:00
wa-hc.c usb: wusbcore: add a quirk for Alereon HWA device isoc behavior 2013-10-29 16:44:49 -07:00
wa-hc.h usb: wusbcore: add a quirk for Alereon HWA device isoc behavior 2013-10-29 16:44:49 -07:00
wa-nep.c wusbcore wire adapter: ignore HWA_NOTIF_BPST_ADJ notifications 2013-06-06 13:11:14 -07:00
wa-rpipe.c usb: wusbcore: set the RPIPE wMaxPacketSize value correctly 2013-10-29 16:44:49 -07:00
wa-xfer.c usb: wusbcore: change WA_SEGS_MAX to a legal value 2013-10-29 16:44:49 -07:00
wusbhc.c USB: HWA: fix device probe failure 2013-06-24 16:20:43 -07:00
wusbhc.h usb: wusbcore: fix deadlock in wusbhc_gtk_rekey 2013-12-02 15:21:04 -08:00