On 22.12.2013 18:17, Antti Palosaari wrote:
On 22.12.2013 17:55, Mauro Carvalho Chehab wrote:
Em Sun, 22 Dec 2013 13:06:00 -0200
Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> escreveu:
Em Sun, 22 Dec 2013 00:27:21 +0200
Antti Palosaari <crope@xxxxxx> escreveu:
I ran also this kind of bug. Device was PCTV 290e, which has that video
unused. I have no any analog em28xx webcam to test if that happens
here too.
Fortunately I found one video device which does not crash nor dump
debug
bug warnings. It is some old gspca webcam. Have to look example how
those videobuf callbacks are implemented there..
regards
Antti
[crope@localhost linux]$ cat /dev/video0
cat: /dev/video0: Invalid argument
[crope@localhost linux]$ cat /dev/video0
cat: /dev/video0: Device or resource busy
[crope@localhost linux]$
joulu 22 00:08:24 localhost.localdomain kernel: em28174 #0: no endpoint
for analog mode and transfer type 0
It seems that there's something bad on em28174 registration: it
should not
be creating a v4l2 device, if the device is DVB only.
The thing is that, when this driver was created, all devices were either
analog only or hybrid. Only very recently, pure DVB devices got added.
It shouldn't be that hard to split em28xx_init_dev() into a few routines
that would only register v4l2 if the device has analog support.
Again, this changeset:
https://patchwork.linuxtv.org/patch/17967/
Seems to be part of such solution, as it already splits the v4l2
register logic into a separate function.
Ok, if I didn't make any mistake, this changeset should do the trick:
https://patchwork.linuxtv.org/patch/21282/
Please notice that this is compile-tested only.
I started to testing that patch, but now I get following compilation
errors:
WARNING: "em28xx_detect_sensor" [drivers/media/usb/em28xx/em28xx.ko]
undefined!
WARNING: "em28xx_init_camera" [drivers/media/usb/em28xx/em28xx.ko]
undefined!
WARNING: "em28xx_resolution_set"
[drivers/media/usb/em28xx/em28xx-v4l.ko] undefined!
WARNING: "em28xx_colorlevels_set_default"
[drivers/media/usb/em28xx/em28xx-v4l.ko] undefined!
WARNING: "em28xx_set_outfmt" [drivers/media/usb/em28xx/em28xx-v4l.ko]
undefined!
WARNING: "em28xx_read_reg_req_len"
[drivers/media/usb/em28xx/em28xx-v4l.ko] undefined!
WARNING: "em28xx_wake_i2c" [drivers/media/usb/em28xx/em28xx-v4l.ko]
undefined!
WARNING: "em28xx_set_alternate" [drivers/media/usb/em28xx/em28xx-v4l.ko]
undefined!
WARNING: "em28xx_vbi_supported" [drivers/media/usb/em28xx/em28xx-v4l.ko]
undefined!
WARNING: "em28xx_release_resources"
[drivers/media/usb/em28xx/em28xx-v4l.ko] undefined!
WARNING: "em28xx_boards" [drivers/media/usb/em28xx/em28xx-v4l.ko]
undefined!
anyhow, I am not sure if those are related or not. I will re-compile
whole kernel to see (build only media).
It builds very fast as compile caching. Errors are still there. My tree
is latest media/master + my SDR patches.
CRC d20c387c
Kernel: arch/x86/boot/bzImage is ready (#78)
ERROR: "em28xx_detect_sensor" [drivers/media/usb/em28xx/em28xx.ko]
undefined!
ERROR: "em28xx_init_camera" [drivers/media/usb/em28xx/em28xx.ko] undefined!
ERROR: "em28xx_resolution_set" [drivers/media/usb/em28xx/em28xx-v4l.ko]
undefined!
ERROR: "em28xx_colorlevels_set_default"
[drivers/media/usb/em28xx/em28xx-v4l.ko] undefined!
ERROR: "em28xx_set_outfmt" [drivers/media/usb/em28xx/em28xx-v4l.ko]
undefined!
ERROR: "em28xx_read_reg_req_len"
[drivers/media/usb/em28xx/em28xx-v4l.ko] undefined!
ERROR: "em28xx_wake_i2c" [drivers/media/usb/em28xx/em28xx-v4l.ko] undefined!
ERROR: "em28xx_set_alternate" [drivers/media/usb/em28xx/em28xx-v4l.ko]
undefined!
ERROR: "em28xx_vbi_supported" [drivers/media/usb/em28xx/em28xx-v4l.ko]
undefined!
ERROR: "em28xx_release_resources"
[drivers/media/usb/em28xx/em28xx-v4l.ko] undefined!
ERROR: "em28xx_boards" [drivers/media/usb/em28xx/em28xx-v4l.ko] undefined!
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2
regards
Antti
--
http://palosaari.fi/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html