On Mon, 2007-12-24 at 06:12 -0800, Pete Zaitcev wrote: > On Sun, 23 Dec 2007 08:46:37 -0800, Daniel Walker <[EMAIL PROTECTED]> wrote: > > > I noticed you also have a spinlock held in usu_probe_thread(), the > > usu_lock.. That spinlock would preclude anything inside request_module() > > from sleeping.. > > The usu_lock is not held across request_module. In fact, it can be > easily taken from inside request_module, when it invokes modprobe. > Stop scaring me :-)
Your right, it's just outside .. I still don't think it could deadlock, since I don't see a code path to recursively get back into those libusual functions.. > > One thing that has bothered me is that I don't see a reason why this > > couldn't become a complete, yet you have a comment which says that it > > can't be a complete.. I honestly didn't understand the comment.. I would > > imagine that you tried a complete , and it didn't work? > > Yes, it was a completition initially. But suppose you have two storage > devices, plugged in across a reboot. Two threads are created and have to > wait until the libusual's init function ends. Since we post one > completion, > only one thread continues. Ok .. The mutex should just prevent them from running at the same time, but they should both run eventually. Daniel -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/