diff options
author | Olli Salonen <olli.salonen@iki.fi> | 2015-01-16 07:35:19 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-02-03 15:12:46 -0500 |
commit | 683e98b6029155949d7373ba854283770b4a16ef (patch) | |
tree | 8d71499da6ec51b224944faefda509178c23464a /drivers/media | |
parent | 3656cddd50018d562d2df87c4698783898732914 (diff) |
[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) | |||
180 | goto err; | 180 | goto err; |
181 | } | 181 | } |
182 | 182 | ||
183 | if (c->bandwidth_hz <= 5000000) | 183 | if (c->bandwidth_hz == 0) { |
184 | ret = -EINVAL; | ||
185 | goto err; | ||
186 | } else if (c->bandwidth_hz <= 5000000) | ||
184 | bandwidth = 0x05; | 187 | bandwidth = 0x05; |
185 | else if (c->bandwidth_hz <= 6000000) | 188 | else if (c->bandwidth_hz <= 6000000) |
186 | bandwidth = 0x06; | 189 | bandwidth = 0x06; |