aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorOlli Salonen <olli.salonen@iki.fi>2015-01-16 09:35:19 -0300
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-02-03 18:12:46 -0200
commit683e98b6029155949d7373ba854283770b4a16ef (patch)
tree8d71499da6ec51b224944faefda509178c23464a /drivers/media
parent[media] lirc_dev: avoid potential null-dereference (diff)
downloadlinux-dev-683e98b6029155949d7373ba854283770b4a16ef.tar.xz
linux-dev-683e98b6029155949d7373ba854283770b4a16ef.zip
[media] si2168: return error if set_frontend is called with invalid parameters
This patch should is based on Antti's silabs branch. According to dvb-frontend.h set_frontend may be called with bandwidth_hz set to 0 if automatic bandwidth is required. Si2168 does not support automatic bandwidth and does not declare FE_CAN_BANDWIDTH_AUTO in caps. This patch will change the behaviour in a way that EINVAL is returned if bandwidth_hz is 0. Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/dvb-frontends/si2168.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c
index 63341f485f9f..5b5fd5db7b2c 100644
--- a/drivers/media/dvb-frontends/si2168.c
+++ b/drivers/media/dvb-frontends/si2168.c
@@ -180,7 +180,10 @@ static int si2168_set_frontend(struct dvb_frontend *fe)
goto err;
}
- if (c->bandwidth_hz <= 5000000)
+ if (c->bandwidth_hz == 0) {
+ ret = -EINVAL;
+ goto err;
+ } else if (c->bandwidth_hz <= 5000000)
bandwidth = 0x05;
else if (c->bandwidth_hz <= 6000000)
bandwidth = 0x06;