All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] xc5000: fix incorrect debug printnk
@ 2013-03-13  4:23 Dmitri Belimov
  0 siblings, 0 replies; only message in thread
From: Dmitri Belimov @ 2013-03-13  4:23 UTC (permalink / raw)
  To: Devin Heitmueller, LMML

Hello

I found very small bag in xc5000 source.

When set option debug=1 and listen a radio we see in dmesg

xc5000: xc_SetTVStandard() Standard = M/N-NTSC/PAL-BTSC

at all time.

But true value is "FM Radio-INPUT1_MONO".

It happens because in function xc5000_set_radio_freq get correct value VideoMode and AudioMode for radio and
call xc_SetTVStandard where name of standard get from incorrect place priv->video_standard .

This incorrect debug message do debugging little difficult.

I found very small bag in xc5000 source.

When set option debug=1 and listen a radio we see in dmesg

xc5000: xc_SetTVStandard() Standard = M/N-NTSC/PAL-BTSC

at all time.

But true value is "FM Radio-INPUT1_MONO".

It happens because in function xc5000_set_radio_freq get correct value VideoMode and AudioMode for radio and
call xc_SetTVStandard where name of standard get from incorrect place priv->video_standard .

This incorrect debug message do debugging little difficult.

diff --git a/drivers/media/tuners/xc5000.c b/drivers/media/tuners/xc5000.c
index d6be1b6..5cd09a6 100644
--- a/drivers/media/tuners/xc5000.c
+++ b/drivers/media/tuners/xc5000.c
@@ -422,13 +422,19 @@ static int xc_initialize(struct xc5000_priv *priv)
 }
 
 static int xc_SetTVStandard(struct xc5000_priv *priv,
-	u16 VideoMode, u16 AudioMode)
+	u16 VideoMode, u16 AudioMode, u8 RadioMode)
 {
 	int ret;
 	dprintk(1, "%s(0x%04x,0x%04x)\n", __func__, VideoMode, AudioMode);
-	dprintk(1, "%s() Standard = %s\n",
-		__func__,
-		XC5000_Standard[priv->video_standard].Name);
+	if (RadioMode) {
+		dprintk(1, "%s() Standard = %s\n",
+			__func__,
+			XC5000_Standard[RadioMode].Name);
+	} else {
+		dprintk(1, "%s() Standard = %s\n",
+			__func__,
+			XC5000_Standard[priv->video_standard].Name);
+	}
 
 	ret = xc_write_reg(priv, XREG_VIDEO_MODE, VideoMode);
 	if (ret == XC_RESULT_SUCCESS)
@@ -824,7 +830,7 @@ static int xc5000_set_params(struct dvb_frontend *fe)
 
 	ret = xc_SetTVStandard(priv,
 		XC5000_Standard[priv->video_standard].VideoMode,
-		XC5000_Standard[priv->video_standard].AudioMode);
+		XC5000_Standard[priv->video_standard].AudioMode, 0);
 	if (ret != XC_RESULT_SUCCESS) {
 		printk(KERN_ERR "xc5000: xc_SetTVStandard failed\n");
 		return -EREMOTEIO;
@@ -940,7 +946,7 @@ tune_channel:
 
 	ret = xc_SetTVStandard(priv,
 		XC5000_Standard[priv->video_standard].VideoMode,
-		XC5000_Standard[priv->video_standard].AudioMode);
+		XC5000_Standard[priv->video_standard].AudioMode, 0);
 	if (ret != XC_RESULT_SUCCESS) {
 		printk(KERN_ERR "xc5000: xc_SetTVStandard failed\n");
 		return -EREMOTEIO;
@@ -1003,7 +1009,7 @@ static int xc5000_set_radio_freq(struct dvb_frontend *fe,
 	priv->rf_mode = XC_RF_MODE_AIR;
 
 	ret = xc_SetTVStandard(priv, XC5000_Standard[radio_input].VideoMode,
-			       XC5000_Standard[radio_input].AudioMode);
+			       XC5000_Standard[radio_input].AudioMode, radio_input);
 
 	if (ret != XC_RESULT_SUCCESS) {
 		printk(KERN_ERR "xc5000: xc_SetTVStandard failed\n");


Signed-off-by: Dmitry Belimov <d.belimov@gmail.com>

With my best regards, Dmitry.

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

only message in thread, other threads:[~2013-03-13  4:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-13  4:23 [PATCH] xc5000: fix incorrect debug printnk Dmitri Belimov

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.