[linux-dvb] bug patch for compatibility with software suspend

Dietrich Rothe dietrich_rothe at gmx.de
Sun Feb 20 18:16:39 CET 2005


Hi!
I'm using a vanilla 2.6.10 linux kernel, patched with software suspend 2 
(http://softwaresuspend.berlios.de/, patch:
http://download.berlios.de/softwaresuspend/software-suspend-2.1.7-for-2.6.10.tar.bz2 )

I experienced DVB problems after suspending and resuming, even when I
completely removed all DVB relevant modules before suspending.
After resume, the card just wouldn't tune, everything else went fine. When
before resuming there had been tuned a transponder and I did not interrupt
the PC's power (reboot is ok), I could watch only channels from this
transponder (quite funny, isn't it? I got behind this tricky effect watching
the signal/noise values).

I found out the problem was that the tuning thread wasn't launched, because 
the
variables fe->thread_pid and fe->exit said there still was an appropriate
thread, although it had been killed during unload of the modules. I checked 
initialization of those variables, which seemed to be the problem. With the
following patch, everything now works fine.

--- dvb-core/dvb_frontend.c.orig 2005-02-20 05:02:33.000000000 +0100
+++ dvb-core/dvb_frontend.c 2005-02-20 09:52:10.000000000 +0100
@@ -839,7 +839,11 @@
  fe->events.overflow = 0;
  fe->dvb = dvb;
  fe->inversion = INVERSION_OFF;
-
+ 
+ /* here I put additional required initializatons */
+ fe->thread_pid = 0;
+ fe->exit = 1;
+ 
  printk ("DVB: registering frontend %i (%s)...\n",
   fe->dvb->num,
   fe->ops->info.name);

I saw the cvs has already changed a lot since 2.6.10, but I believe this
problem has not yet been touched.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://www.linuxtv.org/pipermail/linux-dvb/attachments/20050220/c607401c/attachment.pgp


More information about the linux-dvb mailing list