summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRon Economos <w6rz@comcast.net>2017-12-11 19:51:53 -0500
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2017-12-14 12:22:23 -0500
commit380a6c86457573aa42d27ae11e025eb25941a0b7 (patch)
treea74f7be25c27a06770c7ee5df700e0113d2d657c
parent78e41c16c0b5d47415f01ead3a3730d5b9a6a52c (diff)
downloadlinux-380a6c86457573aa42d27ae11e025eb25941a0b7.tar.gz
linux-380a6c86457573aa42d27ae11e025eb25941a0b7.tar.bz2
linux-380a6c86457573aa42d27ae11e025eb25941a0b7.zip
media: [RESEND] media: dvb-frontends: Add delay to Si2168 restart
On faster CPUs a delay is required after the resume command and the restart command. Without the delay, the restart command often returns -EREMOTEIO and the Si2168 does not restart. Note that this patch fixes the same issue as https://patchwork.linuxtv.org/patch/44304/, but I believe my udelay() fix addresses the actual problem. Signed-off-by: Ron Economos <w6rz@comcast.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
-rw-r--r--drivers/media/dvb-frontends/si2168.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c
index 41d9c513b7e8..539399dac551 100644
--- a/drivers/media/dvb-frontends/si2168.c
+++ b/drivers/media/dvb-frontends/si2168.c
@@ -14,6 +14,8 @@
* GNU General Public License for more details.
*/
+#include <linux/delay.h>
+
#include "si2168_priv.h"
static const struct dvb_frontend_ops si2168_ops;
@@ -435,6 +437,7 @@ static int si2168_init(struct dvb_frontend *fe)
if (ret)
goto err;
+ udelay(100);
memcpy(cmd.args, "\x85", 1);
cmd.wlen = 1;
cmd.rlen = 1;