From: Olli Salonen Date: Fri, 16 Jan 2015 12:35:19 +0000 (-0300) Subject: [media] si2168: return error if set_frontend is called with invalid parameters X-Git-Tag: firefly_0821_release~176^2~795^2~1414 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=683e98b6029155949d7373ba854283770b4a16ef;p=firefly-linux-kernel-4.4.55.git [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 Reviewed-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab --- 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;