All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] xc2028: disable device power-down because power state handling is broken
@ 2013-12-30 13:37 Frank Schäfer
  2014-01-06 13:00 ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 3+ messages in thread
From: Frank Schäfer @ 2013-12-30 13:37 UTC (permalink / raw)
  To: m.chehab; +Cc: linux-media, Frank Schäfer

xc2028 power state handling is broken.
I2C read/write operations fail when the device is powered down at that moment,
which causes the get_rf_strength and get_rf_strength callbacks (and probably
others, too) to fail.
I don't know how to fix this properly, so disable the device power-down until
anyone comes up with a better solution.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
---
 drivers/media/tuners/tuner-xc2028.c |    4 +++-
 1 Datei geändert, 3 Zeilen hinzugefügt(+), 1 Zeile entfernt(-)

diff --git a/drivers/media/tuners/tuner-xc2028.c b/drivers/media/tuners/tuner-xc2028.c
index 4be5cf8..cb3dc5e 100644
--- a/drivers/media/tuners/tuner-xc2028.c
+++ b/drivers/media/tuners/tuner-xc2028.c
@@ -1291,16 +1291,18 @@ static int xc2028_sleep(struct dvb_frontend *fe)
 		dump_stack();
 	}
 
+	/* FIXME: device power-up/-down handling is broken */
+/*
 	mutex_lock(&priv->lock);
 
 	if (priv->firm_version < 0x0202)
 		rc = send_seq(priv, {0x00, XREG_POWER_DOWN, 0x00, 0x00});
 	else
 		rc = send_seq(priv, {0x80, XREG_POWER_DOWN, 0x00, 0x00});
-
 	priv->state = XC2028_SLEEP;
 
 	mutex_unlock(&priv->lock);
+*/
 
 	return rc;
 }
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] xc2028: disable device power-down because power state handling is broken
  2013-12-30 13:37 [PATCH] xc2028: disable device power-down because power state handling is broken Frank Schäfer
@ 2014-01-06 13:00 ` Mauro Carvalho Chehab
  2014-01-07 17:34   ` Frank Schäfer
  0 siblings, 1 reply; 3+ messages in thread
From: Mauro Carvalho Chehab @ 2014-01-06 13:00 UTC (permalink / raw)
  To: Frank Schäfer; +Cc: linux-media

Em Mon, 30 Dec 2013 14:37:58 +0100
Frank Schäfer <fschaefer.oss@googlemail.com> escreveu:

> xc2028 power state handling is broken.
> I2C read/write operations fail when the device is powered down at that moment,
> which causes the get_rf_strength and get_rf_strength callbacks (and probably
> others, too) to fail.
> I don't know how to fix this properly, so disable the device power-down until
> anyone comes up with a better solution.
> 
> Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
> ---
>  drivers/media/tuners/tuner-xc2028.c |    4 +++-
>  1 Datei geändert, 3 Zeilen hinzugefügt(+), 1 Zeile entfernt(-)
> 
> diff --git a/drivers/media/tuners/tuner-xc2028.c b/drivers/media/tuners/tuner-xc2028.c
> index 4be5cf8..cb3dc5e 100644
> --- a/drivers/media/tuners/tuner-xc2028.c
> +++ b/drivers/media/tuners/tuner-xc2028.c
> @@ -1291,16 +1291,18 @@ static int xc2028_sleep(struct dvb_frontend *fe)
>  		dump_stack();
>  	}
>  
> +	/* FIXME: device power-up/-down handling is broken */
> +/*
>  	mutex_lock(&priv->lock);
>  
>  	if (priv->firm_version < 0x0202)
>  		rc = send_seq(priv, {0x00, XREG_POWER_DOWN, 0x00, 0x00});
>  	else
>  		rc = send_seq(priv, {0x80, XREG_POWER_DOWN, 0x00, 0x00});
> -
>  	priv->state = XC2028_SLEEP;
>  
>  	mutex_unlock(&priv->lock);
> +*/

This patch is completely broken.

First of all, there are both modprobe and config parameters that disables
the poweroff mode.

Second, it doesn't fix the bug, just hides it.

Third, it keeps the xc3028 energized, with spends power and heats the
device, with reduces its lifetime.

I'm working on a proper fix for it.

Cheers,
Mauro

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] xc2028: disable device power-down because power state handling is broken
  2014-01-06 13:00 ` Mauro Carvalho Chehab
@ 2014-01-07 17:34   ` Frank Schäfer
  0 siblings, 0 replies; 3+ messages in thread
From: Frank Schäfer @ 2014-01-07 17:34 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: linux-media

Am 06.01.2014 14:00, schrieb Mauro Carvalho Chehab:
> ...
>
> I'm working on a proper fix for it.

That was the actual goal of this patch. ;)

Thank you for looking at this issue.
I'll get back to the remaing stuff later.

Cheers,
Frank


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-01-07 17:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-30 13:37 [PATCH] xc2028: disable device power-down because power state handling is broken Frank Schäfer
2014-01-06 13:00 ` Mauro Carvalho Chehab
2014-01-07 17:34   ` Frank Schäfer

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.