On Tue, 2014-06-17 at 12:19 +0200, Vlad Ungureanu wrote: > > On Tue, 2014-06-17 at 11:18 +0200, Vlad Ungureanu wrote: > > > > > > > > > > If that is not your intention, then you need to be more specific in the match table. > > > Yes, it matches the whole device so that is why every interface gets probed. I > > > will change that. > > > > That's problematic. You need to find out what happens if both interfaces > > are used at the same time. > > My device has 2 interfaces in normal mode and 2 interfaces in ADK mode. > Interface 0 has just ep0 which is control endpoint. Interface 1 has 2 bulk EPs: > IN, OUT. I should check the macro how to define them nicely in the device > table. No, don't do that. First of all, you are conflating two issues. Switching between normal and ADK mode should indeed be done in user space. How is it done in fact? Secondly the interfaces. Restricting the matching creates a problem in cooperation with usbfs. At least if you both need them, like btusb or the CDC drivers. Suppose you need both interfaces. Then you need to claim both interfaces in probe(). However interfaces can be claimed from user space also and freed in arbitrary order. Now, if you change your matching so that you match only on the first interface, binding will fail if user spaces unclaims the first interface before the second. That's because your probe needs to fail as the second interface is still claimed by user space. You can solve this issue by matching on both interfaces and claiming the corresponding interface in probe() Regards Oliver -- 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