Hi Andreas, Andreas Schultz wrote: > On Wednesday 11 September 2002 15:22, Martin Fahr wrote: > > [...] > > >>because the dvb-drivers didn't work with the new 2.5er kernels, I made the >> changes by myself. The following patch applies to NEWSTRUCT-driver taken >>via cvs at 09.09.2002. Of course there are still some problems, the most >>important: The makefiles have to be changed. Because I am not familiar with >>Makefiles, I had to use Makefile and Rules.make from some old kernel (the >>kbuild-system changed in 2.5.21). I dont expect devfs to work. Correct me >>if I am wrong. > > > I've create a set of Config.in and Makefiles for 2.5. Archive is at: > http://warp10.net/dvd/dvb-make.tgz > > The driver did not work for me with 2.5.42 and CONFIG_PREEMPT enabled, but it > also did not lockup as has be reported before. I'm going to rebuild the > kernel without PREEMPT and try again > IWith CONFIG_PREEMPT i get the following warning in the syslog: > > Oct 13 18:10:21 apophis kernel: bad: scheduling while atomic! > Oct 13 18:10:21 apophis kernel: Call Trace: > Oct 13 18:10:21 apophis kernel: [schedule+109/696] schedule+0x3d/0x2b8 > Oct 13 18:10:21 apophis kernel: [acpi_install_address_space_handler+535/564] > __delay+0x13/0x28 > Oct 13 18:10:21 apophis kernel: [acpi_remove_address_space_handler+55/188] > __const_udelay+0x1f/0x24 > Oct 13 18:10:21 apophis kernel: [sys_sched_get_priority_max+15/40] > __cond_resched+0x17/0x1c > Oct 13 18:10:21 apophis kernel: [<c844311c>] > i2c_busy_rise_and_fall+0x90/0x194[dvb-ttpci] > Oct 13 18:10:21 apophis kernel: [<c84433de>] i2c_write_out+0x56/0xe8 > [dvb-ttpci] > Oct 13 18:10:21 apophis kernel: [<c8443d7f>] do_master_xfer+0x8f/0x13c > [dvb-ttpci] > Oct 13 18:10:21 apophis kernel: [<c8443e49>] master_xfer+0x1d/0x30 > [dvb-ttpci] > Oct 13 18:10:21 apophis kernel: [<c898916a>] ves1893_readreg+0x72/0xa4 > [alps_bsrv2] > Oct 13 18:10:21 apophis kernel: [<c89898cf>] bsrv2_ioctl+0x223/0x290 > [alps_bsrv2] > Oct 13 18:10:21 apophis kernel: [<c8433a0c>] > dvb_frontend_internal_ioctl+0x4c/0x70 [dvb-core] > Oct 13 18:10:21 apophis kernel: [<c8433ca1>] > dvb_frontend_add_event+0xc1/0x118[dvb-core] > Oct 13 18:10:21 apophis kernel: [<c8436667>] .rodata+0xaa7/0x1000 [dvb-core] > Oct 13 18:10:21 apophis kernel: [<c843424a>] dvb_frontend_thread+0x172/0x220 > [dvb-core] > Oct 13 18:10:21 apophis kernel: [<c84340d8>] dvb_frontend_thread+0x0/0x220 > [dvb-core] > Oct 13 18:10:21 apophis kernel: [kernel_thread+25/140] > kernel_thread_helper+0x5/0xc > > The cause for that is most likely the call to dvb_frontend_internal_ioctl() > from dvb_frontend_add_event() with the event spinlock held. I guess this > could be converted to a semaphore, but i have not tested that theory yet.
you are right, here we should use a semaphore. I'll apply this. Holger -- Info: To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as subject.
