This is an automatic generated email to let you know that the following patch 
were queued at the 
http://git.linuxtv.org/v4l-utils.git tree:

Subject: dvb-fe: Use a separate call to change LNA settings
Author:  Mauro Carvalho Chehab <[email protected]>
Date:    Sun Feb 16 18:57:17 2014 +0900

Setting the LNA mode may fail, as this is not implemented on
all drivers. So, move this into a separate call, and don't
make it a fatal error.

Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 lib/libdvbv5/dvb-fe.c |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 deletions(-)

---

http://git.linuxtv.org/v4l-utils.git?a=commitdiff;h=a7019a3d0964886ecf475cef0970064ef8deda6b

diff --git a/lib/libdvbv5/dvb-fe.c b/lib/libdvbv5/dvb-fe.c
index 36da95d..28e6354 100644
--- a/lib/libdvbv5/dvb-fe.c
+++ b/lib/libdvbv5/dvb-fe.c
@@ -631,12 +631,23 @@ int dvb_fe_set_parms(struct dvb_v5_fe_parms *parms)
        /* Filter out any user DTV_foo property such as DTV_POLARIZATION */
        tmp_parms.n_props = dvb_copy_fe_props(tmp_parms.dvb_prop, 
tmp_parms.n_props, tmp_parms.dvb_prop);
 
+       if (parms->lna != LNA_AUTO && !parms->legacy_fe) {
+               memset(&prop, 0, sizeof(prop));
+               prop.props = tmp_parms.dvb_prop;
+
+               prop.props[0].cmd = DTV_LNA;
+               prop.props[0].u.data = parms->lna;
+               prop.num = 1;
+               if (ioctl(parms->fd, FE_SET_PROPERTY, &prop) == -1) {
+                       dvb_perror("Setting LNA");
+                       parms->lna = LNA_AUTO;
+               } else if (parms->lna != LNA_AUTO && parms->verbose)
+                       dvb_logdbg("LNA is %s", parms->lna ? "ON" : "OFF");
+       }
+
        memset(&prop, 0, sizeof(prop));
        prop.props = tmp_parms.dvb_prop;
        prop.num = tmp_parms.n_props;
-       prop.props[prop.num].cmd = DTV_LNA;
-       prop.props[prop.num].u.data = parms->lna;
-       prop.num++;
        prop.props[prop.num].cmd = DTV_TUNE;
        prop.num++;
 
@@ -647,9 +658,6 @@ int dvb_fe_set_parms(struct dvb_v5_fe_parms *parms)
                                dvb_fe_prt_parms(parms);
                        return -1;
                }
-               if (parms->lna != LNA_AUTO && parms->verbose)
-                       dvb_logdbg("LNA is %s", parms->lna ? "ON" : "OFF");
-
                return 0;
        }
        /* DVBv3 call */

_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to