From: Eric Lescouet Date: Sat, 24 Apr 2010 00:55:24 +0000 (+0200) Subject: staging: usbip: Fix deadlock X-Git-Tag: v2.6.34-rc7~36^2~6 X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d01f42a22ef381ba973958e977209ac9a8667d57;p=pandora-kernel.git staging: usbip: Fix deadlock When detaching a port from the client side (usbip --detach 0), the event thread, on the server side, is going to deadlock. The "eh" server thread is getting USBIP_EH_RESET event and calls: -> stub_device_reset() -> usb_reset_device() the USB framework is then calling back _in the same "eh" thread_ : -> stub_disconnect() -> usbip_stop_eh() -> wait_for_completion() the "eh" thread is being asleep forever, waiting for its own completion. This patch checks if "eh" is the current thread, in usbip_stop_eh(). Signed-off-by: Eric Lescouet Cc: stable Signed-off-by: Greg Kroah-Hartman --- Reading git-diff-tree failed