Jeremy Williams <jeremy.williams@...> writes: > > I am currently using the rndis-wlan driver in 2.6.27 with a Linksys WUSB54GS > USB wifi module. When I attempt to bring the interface down or remove the > rndis-wlan module, I am seeing a spinlock recursion bug when usbnet is > attempting to unlink the urbs from the device. I have been poking into this more and discovered that those that are using EHCI compliant host controllers based off the ehci-hcd driver will not see this issue since completions are always performed asynchronously. The urb_dequeue method in the HCD driver returns immediately and relies on the HCD irq routine to call the completion routine for the deleted urb thus avoiding the recursion. I have looked over all of the proprietary host controller drivers and the following have the potential to call usb_hcd_giveback_urb directly, thus resulting in the recursion. isp116x-hcd.c isp1760-hcd.c r8a66597-hcd.c sl811-hcd.c u132-hcd.c There is also the potential for the ochi-hcd driver to call usb_hcd_giveback_urb directly if the host controller is no longer running. Is it considered acceptable to call usb_hcd_giveback_urb directly from the urb_dequeue routine or do these drivers need to be updated? -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html