On Mon, 7 Mar 2005, Greg KH wrote: > > A more concrete question is: Should mutual exclusion between probe/remove > > and suspend/resume be handled by the bus rwsem, by a semaphore in struct > > device, or by individual bus drivers? Offhand I don't see any reason why > > the rwsem wouldn't be enough. > > Besides me deleting the rwsem? :) > > struct device might be the best place for this. Okay. I'm going to take some time and think about this. Are you planning on using a spinlock to protect things like the list_head fields in struct device? Or some other semaphore instead? How will a driver be able to iterate through one of those lists safely (without things changing out from under it)? Alan Stern