diff options
author | 2015-01-16 09:35:19 -0300 | |
---|---|---|
committer | 2015-02-03 18:12:46 -0200 | |
commit | 683e98b6029155949d7373ba854283770b4a16ef (patch) | |
tree | 8d71499da6ec51b224944faefda509178c23464a /drivers/media | |
parent | [media] lirc_dev: avoid potential null-dereference (diff) | |
download | linux-683e98b6029155949d7373ba854283770b4a16ef.tar.gz linux-683e98b6029155949d7373ba854283770b4a16ef.tar.bz2 linux-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.c | 5 |
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; |