Re: [PATCH 1/8] m88ds3103: do not return error from get_frontend() when not ready

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

 



Hi Antti,

On 18/05/15 06:08, Antti Palosaari wrote:
Do not return error from get_frontend() when status is queried, but
device is not ready. dvbv5-zap has habit to call that IOCTL before
device is tuned and it also refuses to use DVBv5 statistic after
that...

In the driver I'm working on I noticed that in dvb5-zap too. I also saw a timing issue if holding fe_status in the priv struct - fe_status will remain at FE_HAS_LOCK until read_status() spins around again and this can cause get_frontend to proceed when it probably shouldn't. The end result is this early call to get_frontend() overwrites the property cache before zap has sent it through to set_frontend() and tuning then fails.

Do we need to be fixing these issues at a driver level?


Jemma.



Signed-off-by: Antti Palosaari <crope@xxxxxx>
---
  drivers/media/dvb-frontends/m88ds3103.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/dvb-frontends/m88ds3103.c b/drivers/media/dvb-frontends/m88ds3103.c
index d3d928e..03dceb5 100644
--- a/drivers/media/dvb-frontends/m88ds3103.c
+++ b/drivers/media/dvb-frontends/m88ds3103.c
@@ -742,7 +742,7 @@ static int m88ds3103_get_frontend(struct dvb_frontend *fe)
  	dev_dbg(&priv->i2c->dev, "%s:\n", __func__);
if (!priv->warm || !(priv->fe_status & FE_HAS_LOCK)) {
-		ret = -EAGAIN;
+		ret = 0;
  		goto err;
  	}

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux