[linux-dvb] Question about dvb-usb driver stream settings

Tomi Orava tomimo+linux-dvb at ncircle.nullnet.fi
Sat Sep 8 22:50:59 CEST 2007


I've had quite a lot of problems with the existing Cinergy T2-driver
(keyboard hangs sooner or later). Therefore I've converted the existing
driver to use dvb-usb framework as used in the vp7045-driver. The current
version of the converted driver seems to work OK, although the remote
controller code has been disabled for now.

I'm still wondering about the stream-settings and especially if there
exists a predefined maximum value for the stream count-setting ?
If I use too large value in here, the module will load & initialize just
fine but will crash in unregistering phase when unloading.

.stream = {
	.type = USB_BULK,
	.count = 7,
	.endpoint = 0x02,
	.u = {
		.bulk = {
			.buffersize = 4096,

The value 7 seems to work for the .count-variable, but
when I was testing larger values (like 30) the module crashed the
kernel in unloading phase:

CPU:    0
EIP:    0060:[<c0456076>]    Tainted: P    B  VLI
EFLAGS: 00210246   ( #1)
EIP is at __free_pages_ok+0x42/0x257
eax: 00000000   ebx: c2968400   ecx: 00000000   edx: c09d0ffd
esi: c09d0ffc   edi: 00000014   ebp: 00000003   esp: f4bc3e80
ds: 007b   es: 007b   fs: 0000  gs: 0033  ss: 0068
Process modprobe (pid: 2477, ti=f4bc3000 task=f3a02ba0 task.ti=f4bc3000)
Stack: c2968300 f893c300 00000008 22222222 22222222 f45e6da8 00000000
       00000001 f89136db 8fad8f4e f45e6da8 f45e6da8 f8913c40 f8912ee3
       f45e6000 f45e6e5c f8912399 22222222 0000006c f88f45a8 f7efc418
Call Trace:
 [<f89136db>] usb_free_stream_buffers+0x43/0x54 [dvb_usb]
 [<f8913c40>] usb_urb_exit+0x53/0x5a [dvb_usb]
 [<f8912ee3>] dvb_usb_adapter_dvb_exit+0x52/0x5c [dvb_usb]
 [<f8912399>] dvb_usb_exit+0x57/0xcc [dvb_usb]
 [<f891243e>] dvb_usb_device_exit+0x30/0x44 [dvb_usb]
 [<c057fdfe>] usb_unbind_interface+0x44/0x85
 [<c05637d0>] __device_release_driver+0x71/0x8e
 [<c0563c66>] driver_detach+0xa5/0xe3
 [<c0563346>] bus_remove_driver+0x5a/0x78
 [<c057f6df>] usb_deregister+0x79/0x85
 [<c043dd84>] sys_delete_module+0x179/0x1a1
 [<c0440032>] prepare_processes+0x0/0x1d
 [<c0449b9c>] audit_syscall_entry+0x10c/0x136

Just curious to figure out what is the reason for the crash ...

Tomi Orava

Tomi.Orava at ncircle.nullnet.fi

More information about the linux-dvb mailing list