Quoting Mark McClelland <mark@xxxxxxxxxxxxxxxx>: > Dmitri wrote: > > >You do not initialize the camera in probe() - this is bad because of many > >reasons. > > > Is this still true? I realize that all probe()s are called from the same > khubd thread, but where is the harm in making other devices wait? That is exactly the harm :-) > Is a device's address assigned only after the previous > device's probe() returns? I think so because the hub won't see the device connect before that. > There are a lot of other cases where a driver can spend a lot of time in > probe() (eg.: a kmalloc that sleeps for a long time). The kmalloc() delay is orders of magnitude less than a bunch of transfers. The latter can take from tens of milliseconds to tens of seconds, depending on what you are doing with the device. > Even with a very stripped-down probe(), won't problems start to > appear with eg. 50 devices? If you have so many devices then you will get some problems, one way or another. In fact, at work I do have lots and lots of USB devices hanging off of one computer, but normally I run out of bandwidth first. Our devices have an LED that lights up when the internal hub is enumerated, and it is very mesmerizing to see how the whole wall of devices gets enumerated on reboot, one unit after another... Thanks, Dmitri -- ..you could spend *all day* customizing the title bar. Believe me. I speak from experience." (By Matt Welsh)
Attachment:
pgpOSbMyhHePl.pgp
Description: PGP signature