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> |
||
|---|---|---|
| .. | ||
| association.h | ||
| atmel_usba_udc.h | ||
| audio-v2.h | ||
| audio.h | ||
| c67x00.h | ||
| cdc-wdm.h | ||
| cdc_ncm.h | ||
| ch9.h | ||
| chipidea.h | ||
| composite.h | ||
| ehci_def.h | ||
| ehci_pdriver.h | ||
| ezusb.h | ||
| functionfs.h | ||
| g_hid.h | ||
| gadget.h | ||
| gadget_configfs.h | ||
| gpio_vbus.h | ||
| hcd.h | ||
| input.h | ||
| iowarrior.h | ||
| irda.h | ||
| isp116x.h | ||
| isp1301.h | ||
| isp1362.h | ||
| isp1760.h | ||
| m66592.h | ||
| msm_hsusb.h | ||
| msm_hsusb_hw.h | ||
| musb-omap.h | ||
| musb-ux500.h | ||
| musb.h | ||
| net2280.h | ||
| of.h | ||
| ohci_pdriver.h | ||
| omap_control_usb.h | ||
| omap_usb.h | ||
| otg.h | ||
| phy.h | ||
| phy_companion.h | ||
| quirks.h | ||
| r8a66597.h | ||
| renesas_usbhs.h | ||
| rndis_host.h | ||
| samsung_usb_phy.h | ||
| serial.h | ||
| sl811.h | ||
| storage.h | ||
| tegra_usb_phy.h | ||
| tilegx.h | ||
| uas.h | ||
| ulpi.h | ||
| usb_phy_gen_xceiv.h | ||
| usbnet.h | ||
| wusb-wa.h | ||
| wusb.h | ||