Re: [PATCH] Fix for hanging si2168 in PCTV 292e, making the code match
From: Mauro Carvalho Chehab
Date: Thu Dec 14 2017 - 09:49:42 EST
Em Tue, 19 Sep 2017 13:13:52 +0100
Nigel Kettlewell <nigel.kettlewell@xxxxxxxxxxxxxx> escreveu:
> [re-sending as plain text]
>
> Fix for hanging si2168 in PCTV 292e USB, making the code match the comment.
>
> Using firmware v4.0.11 the 292e would work once and then hang on
> subsequent attempts to view DVB channels, until physically unplugged and
> plugged back in.
>
> With this patch, the warm state is reset for v4.0.11 and it appears to
> work both on the first attempt and on subsequent attempts.
>
> (Patch basis Linux 4.11.9 f82a53b87594f460f2dd9983eeb851a5840e8df8)
Patch is missing a Signed-off-by. See:
https://elinux.org/Developer_Certificate_Of_Origin).
>
> ---
> drivers/media/dvb-frontends/si2168.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/dvb-frontends/si2168.c
> b/drivers/media/dvb-frontends/si2168.c
> index 680ba06..523acd1 100644
> --- a/drivers/media/dvb-frontends/si2168.c
> +++ b/drivers/media/dvb-frontends/si2168.c
> @@ -582,7 +582,7 @@ static int si2168_sleep(struct dvb_frontend *fe)
> dev->active = false;
>
> /* Firmware B 4.0-11 or later loses warm state during sleep */
> - if (dev->version > ('B' << 24 | 4 << 16 | 0 << 8 | 11 << 0))
> + if (dev->version >= ('B' << 24 | 4 << 16 | 0 << 8 | 11 << 0))
> dev->warm = false;
>
> memcpy(cmd.args, "\x13", 1);
> --
> 2.9.4
>
Thanks,
Mauro