On Thu, 29 Jan 2009, Carsten Meier wrote: > Hi Mike, > > shouldn't there be a symlink named "device" to the actual > sysfs-usb-device-directory in > the /sys/class/video4linux/video*/-directory? (at least other > v4l-devices have one, according to Markus's post on the old v4l-list) I > think the missing symlink prevents HAL from recognizing the pvrusb2 as > a video4linux-device here.
In order for the V4L core to know about the underlying USB device, the driver (i.e. pvrusb2) must tell it, by dropping a pointer to the underlying device structure into the V4L device's structure. This effectively exposes an "implementation detail" of the driver to the V4L core. Right now the pvrusb2 driver does not do this. The reason why is because I have not had a chance to investigate what might happen if the device is hot-unplugged while this linkage exists. Right now the pvrusb2 driver is able to "let go" of the USB device immediately upon hotplug removal while the V4L side can stick around longer. It's done this way to allow proper tear-down - the hardware can go away without delay and the driver will mediate things correctly while waiting for any app with the driver open to finally exit. The V4L core can't really remove itself until the app closes, so if it is also holding onto a pointer to that now-deleted USB device structure (remember, I said this was an "implementation detail" of the driver) then a potential exists for a dangling pointer and an oops. I don't know _for sure_ if this is the case. I need to investigate it. And it hasn't been a priority. But I'm not going to change anything here until I can be sure it is safe to do. -Mike -- Mike Isely isely @ pobox (dot) com PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8 _______________________________________________ pvrusb2 mailing list [email protected] http://www.isely.net/cgi-bin/mailman/listinfo/pvrusb2
