All of lore.kernel.org
 help / color / mirror / Atom feed
* Patch "[media] tda1004x: only update the frontend properties if locked" has been added to the 4.4-stable tree
@ 2016-03-01 18:54 gregkh
  0 siblings, 0 replies; only message in thread
From: gregkh @ 2016-03-01 18:54 UTC (permalink / raw)
  To: mchehab, gregkh; +Cc: stable, stable-commits


This is a note to let you know that I've just added the patch titled

    [media] tda1004x: only update the frontend properties if locked

to the 4.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     tda1004x-only-update-the-frontend-properties-if-locked.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.


>From e8beb02343e7582980c6705816cd957cf4f74c7a Mon Sep 17 00:00:00 2001
From: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Date: Wed, 3 Feb 2016 17:33:48 -0200
Subject: [media] tda1004x: only update the frontend properties if locked

From: Mauro Carvalho Chehab <mchehab@osg.samsung.com>

commit e8beb02343e7582980c6705816cd957cf4f74c7a upstream.

The tda1004x was updating the properties cache before locking.
If the device is not locked, the data at the registers are just
random values with no real meaning.

This caused the driver to fail with libdvbv5, as such library
calls GET_PROPERTY from time to time, in order to return the
DVB stats.

Tested with a saa7134 card 78:
	ASUSTeK P7131 Dual, vendor PCI ID: 1043:4862

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/media/dvb-frontends/tda1004x.c |    9 +++++++++
 1 file changed, 9 insertions(+)

--- a/drivers/media/dvb-frontends/tda1004x.c
+++ b/drivers/media/dvb-frontends/tda1004x.c
@@ -903,9 +903,18 @@ static int tda1004x_get_fe(struct dvb_fr
 {
 	struct dtv_frontend_properties *fe_params = &fe->dtv_property_cache;
 	struct tda1004x_state* state = fe->demodulator_priv;
+	int status;
 
 	dprintk("%s\n", __func__);
 
+	status = tda1004x_read_byte(state, TDA1004X_STATUS_CD);
+	if (status == -1)
+		return -EIO;
+
+	/* Only update the properties cache if device is locked */
+	if (!(status & 8))
+		return 0;
+
 	// inversion status
 	fe_params->inversion = INVERSION_OFF;
 	if (tda1004x_read_byte(state, TDA1004X_CONFC1) & 0x20)


Patches currently in stable-queue which might be from mchehab@osg.samsung.com are

queue-4.4/rc-sunxi-cir-initialize-the-spinlock-properly.patch
queue-4.4/tda1004x-only-update-the-frontend-properties-if-locked.patch
queue-4.4/media-dvb-core-don-t-force-can_inversion_auto-in-oneshot-mode.patch
queue-4.4/si2157-return-einval-if-firmware-blob-is-too-big.patch
queue-4.4/gspca-ov534-topro-prevent-a-division-by-0.patch
queue-4.4/vb2-fix-a-regression-in-poll-behavior-for-output-streams.patch

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2016-03-01 18:54 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-01 18:54 Patch "[media] tda1004x: only update the frontend properties if locked" has been added to the 4.4-stable tree gregkh

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.