From ef1784f62e0114acb5b20c000cd74f7f2c8344c7 Mon Sep 17 00:00:00 2001 From: Michael Krufky Date: Fri, 2 Jan 2009 15:55:29 -0300 Subject: [PATCH] --- yaml --- r: 125550 b: refs/heads/master c: 6b55009e1dc7c2a66c8f5fad67045f0536c9bbd8 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/media/common/tuners/tuner-simple.c | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index d9b9dd8c56e6..78506e4bfaa6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f4c82548d4fa86fb3606f6ee219b070b88592a1e +refs/heads/master: 6b55009e1dc7c2a66c8f5fad67045f0536c9bbd8 diff --git a/trunk/drivers/media/common/tuners/tuner-simple.c b/trunk/drivers/media/common/tuners/tuner-simple.c index 1a21191566f5..de7adaf5fa5b 100644 --- a/trunk/drivers/media/common/tuners/tuner-simple.c +++ b/trunk/drivers/media/common/tuners/tuner-simple.c @@ -820,6 +820,15 @@ static u32 simple_dvb_configure(struct dvb_frontend *fe, u8 *buf, int ret; unsigned frequency = params->frequency / 62500; + if (!tun->stepsize) { + /* tuner-core was loaded before the digital tuner was + * configured and somehow picked the wrong tuner type */ + tuner_err("attempt to treat tuner %d (%s) as digital tuner " + "without stepsize defined.\n", + priv->type, priv->tun->name); + return 0; /* failure */ + } + t_params = simple_tuner_params(fe, TUNER_PARAM_TYPE_DIGITAL); ret = simple_config_lookup(fe, t_params, &frequency, &config, &cb); if (ret < 0)