On Fri, 16 Apr 2010 15:10:11 +0200, Michael Lawnick wrote: > Jean Delvare said the following: > > One thing I forgot: > > > >> > + result = i2c_check_clients(to_i2c_adapter(adapter->dev.parent), addr); > >> > + > >> > + return result; > >> > +} > > > > As discussed some weeks ago, this isn't actually sufficient. You don't > > only need to check the parent segments for address business, you also > > need to check all child segments, recursively. If any child segment has > > a device using the address in question, then you can't use it. > > > > This may be more difficult to implement. In particular, you'll have to > > pay attention to locking. > > > :-) This can't happen if we keep the part you commented on in the other > mail about probing for client one level above. Then this situation can't > arise. I don't understand. In your code, the probe is done at the parent level, where address business had already been tested. What is needed is child segments checking, so the other side of the tree. I just can't see how your code would help with that. Can you please explain why the probe is needed, and what it is doing that the standard address business check didn't cover already? -- Jean Delvare -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html