aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb-core/dvb_frontend.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb-core/dvb_frontend.c')
-rw-r--r--drivers/media/dvb-core/dvb_frontend.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/media/dvb-core/dvb_frontend.c b/drivers/media/dvb-core/dvb_frontend.c
index 1f925e856974..6ce435ac866f 100644
--- a/drivers/media/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb-core/dvb_frontend.c
@@ -1279,7 +1279,7 @@ static int dtv_property_process_get(struct dvb_frontend *fe,
1279 switch(tvp->cmd) { 1279 switch(tvp->cmd) {
1280 case DTV_ENUM_DELSYS: 1280 case DTV_ENUM_DELSYS:
1281 ncaps = 0; 1281 ncaps = 0;
1282 while (fe->ops.delsys[ncaps] && ncaps < MAX_DELSYS) { 1282 while (ncaps < MAX_DELSYS && fe->ops.delsys[ncaps]) {
1283 tvp->u.buffer.data[ncaps] = fe->ops.delsys[ncaps]; 1283 tvp->u.buffer.data[ncaps] = fe->ops.delsys[ncaps];
1284 ncaps++; 1284 ncaps++;
1285 } 1285 }
@@ -1596,7 +1596,7 @@ static int dvbv5_set_delivery_system(struct dvb_frontend *fe,
1596 * supported 1596 * supported
1597 */ 1597 */
1598 ncaps = 0; 1598 ncaps = 0;
1599 while (fe->ops.delsys[ncaps] && ncaps < MAX_DELSYS) { 1599 while (ncaps < MAX_DELSYS && fe->ops.delsys[ncaps]) {
1600 if (fe->ops.delsys[ncaps] == desired_system) { 1600 if (fe->ops.delsys[ncaps] == desired_system) {
1601 c->delivery_system = desired_system; 1601 c->delivery_system = desired_system;
1602 dev_dbg(fe->dvb->device, 1602 dev_dbg(fe->dvb->device,
@@ -1628,7 +1628,7 @@ static int dvbv5_set_delivery_system(struct dvb_frontend *fe,
1628 * of the desired system 1628 * of the desired system
1629 */ 1629 */
1630 ncaps = 0; 1630 ncaps = 0;
1631 while (fe->ops.delsys[ncaps] && ncaps < MAX_DELSYS) { 1631 while (ncaps < MAX_DELSYS && fe->ops.delsys[ncaps]) {
1632 if (dvbv3_type(fe->ops.delsys[ncaps]) == type) 1632 if (dvbv3_type(fe->ops.delsys[ncaps]) == type)
1633 delsys = fe->ops.delsys[ncaps]; 1633 delsys = fe->ops.delsys[ncaps];
1634 ncaps++; 1634 ncaps++;
@@ -1703,7 +1703,7 @@ static int dvbv3_set_delivery_system(struct dvb_frontend *fe)
1703 * DVBv3 standard 1703 * DVBv3 standard
1704 */ 1704 */
1705 ncaps = 0; 1705 ncaps = 0;
1706 while (fe->ops.delsys[ncaps] && ncaps < MAX_DELSYS) { 1706 while (ncaps < MAX_DELSYS && fe->ops.delsys[ncaps]) {
1707 if (dvbv3_type(fe->ops.delsys[ncaps]) != DVBV3_UNKNOWN) { 1707 if (dvbv3_type(fe->ops.delsys[ncaps]) != DVBV3_UNKNOWN) {
1708 delsys = fe->ops.delsys[ncaps]; 1708 delsys = fe->ops.delsys[ncaps];
1709 break; 1709 break;
@@ -1882,6 +1882,8 @@ static int dtv_property_process_set(struct dvb_frontend *fe,
1882 c->lna = tvp->u.data; 1882 c->lna = tvp->u.data;
1883 if (fe->ops.set_lna) 1883 if (fe->ops.set_lna)
1884 r = fe->ops.set_lna(fe); 1884 r = fe->ops.set_lna(fe);
1885 if (r < 0)
1886 c->lna = LNA_AUTO;
1885 break; 1887 break;
1886 1888
1887 default: 1889 default: