Hi,
I found a small but annoying issue with $subj. When the tv frequency
gets changed, while the tvaudio_thread execution is in the part after
the last "goto restart", the audio norm scan doesn't occur, because the
execution stops at the interruptible_sleep_on() call at the beginning of
the infinite loop. The following one-line patch cures this problem.
Another issue may be only fault of my card (Genius Video Wonder Pro III)
- after some time, the card seems to stop delivering interrupts at the
frequency switch (the SAA7134_IRQ_REPORT_INTL stuff), which disables any
mode scans at all. Unloading and loadng of the module doesn't help, only
restarting of the machine. To make the card work, I had to add a call of
saa7134_tvaudio_do_scan(dev); directly to
VIDIOC_S_FREQUENCY ioctl.
Regards,
--
Jindrich Makovicka
--- saa7134-tvaudio.c.orig 2003-06-25 13:24:14.000000000 +0200
+++ saa7134-tvaudio.c 2003-08-05 16:27:43.000000000 +0200
@@ -453,6 +453,7 @@
for (;;) {
if (dev->thread.exit || signal_pending(current))
goto done;
+ if (dev->thread.scan1 != dev->thread.scan2) goto restart;
interruptible_sleep_on(&dev->thread.wq);
if (dev->thread.exit || signal_pending(current))
goto done;