A Dilluns 14 Febrer 2011 16:00:24, Alan Stern va escriure: > It calls mutex_lock(), which can sleep, from within an URB > completion routine, which runs with interrupts disabled. > > It doesn't synchronize the completion _with_ anything else, > i.e., it calls mutex_lock() in only one place. this routine is synchronized with himself. I said synchronize thinking about synchronized routines that are pieces of code scheduled to be executed only in a single thread simultaneously; therefore a new call to this routine can not be executed until a previous call has been completed. > > Whatever is causing your problem, this is not the proper solution. Yes, that this is not a patch to be included in the kernel, it's only a testing patch, but it solves the hangup. and so this probes that there is some kind of problem related to the urb update process; I think the problem should be external to this routine. searching the web, some people has found problems like this, example: - [ubuntu] Ubuntu 10.04 (Lucid Lynx) Random Freeze / Hang-up Consider this as an idea to point out the problem and, if possible, someone more expert help to look for a good solution. Jordi Pujol Live never ending Tale GNU/Linux Live forever! http://livenet.selfip.com -- 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