[PATCH] Fix resetting of status bits in dvbfe_get_info()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

sometimes femon reports wrong status infos. The problem is in dvbfe_get_info(). The status bits (signal, carrier,
viterbi, sync, lock) are only set. If one of this bits was already set in the buffer, it isn't reset if it is necessary.
The attached patch does fix this problem.

- Hartmut

diff -r 92cd5208d2cf lib/libdvbapi/dvbfe.c
--- a/lib/libdvbapi/dvbfe.c	Mon Sep 18 21:27:12 2006 +0100
+++ b/lib/libdvbapi/dvbfe.c	Sun Oct 22 12:03:09 2006 +0200
@@ -278,20 +278,11 @@ extern int dvbfe_get_info(struct dvbfe_h
 	}
 
 	if (returnval & DVBFE_INFO_LOCKSTATUS) {
-		if (kevent.status & FE_HAS_SIGNAL)
-			result->signal = 1;
-
-		if (kevent.status & FE_HAS_CARRIER)
-			result->carrier = 1;
-
-		if (kevent.status & FE_HAS_VITERBI)
-			result->viterbi = 1;
-
-		if (kevent.status & FE_HAS_SYNC)
-			result->sync = 1;
-
-		if (kevent.status & FE_HAS_LOCK)
-			result->lock = 1;
+		result->signal = kevent.status & FE_HAS_SIGNAL ? 1 : 0;
+		result->carrier = kevent.status & FE_HAS_CARRIER ? 1 : 0;
+		result->viterbi = kevent.status & FE_HAS_VITERBI ? 1 : 0;
+		result->sync = kevent.status & FE_HAS_SYNC ? 1 : 0;
+		result->lock = kevent.status & FE_HAS_LOCK ? 1 : 0;
 	}
 
 	if (returnval & DVBFE_INFO_FEPARAMS) {
_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux