On Tue, Nov 17, 2009 at 09:56:04PM +0000, Adrian Taylor wrote: > On 17 Nov 2009, at 21:09, Oliver Neukum wrote: > > > Am Dienstag, 17. November 2009 20:41:18 schrieb Alan Stern: > >>> What's the best way to allow each driver to have a crack at this > >>> particular interface? > >> > >> The best way is to have each driver probe the interface and check > >> whether it is the right driver. If it isn't the probe should fail > >> with -ENODEV; then the driver core will continue on to probe other > >> drivers. > > > > Yes. The problem is how to tell that something is not a serial > > interface. > > It should have two bulk pipes. That is not very diagnostic. We can > > hardly > > guess that it is a pseudo-acm interface if it is on the same device as > > a real acm interface. > > Thanks Oliver and Alan for your comments. I hadn't realised that the > driver core would try alternative drivers - that's exactly the sort of > thing I needed to know, thanks. rndis_host will indeed return ENODEV > if it fails to initialise the device. Is there any way to guarantee > that rndis_host gets to look at it before cdc-acm? That would give the > desired behaviour. No, you can't guarantee it, it depends on link and/or module load order. > An alternative could be to list the various specific vendor/product > IDs for each Nokia phone. That's probably the best thing to do for now. That way we know the devices that work properly. > But there are many new ones each year so I assume we don't want to do > that. We do that today for lots of different devices. Users can also add device ids dynamically to the kernel at run-time, so it is not required that they rebuild their kernel. thanks, greg k-h -- 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