From 57ac346433720c0c9b8ce30a32bdfa1df075fede Mon Sep 17 00:00:00 2001 From: Maksym Veremeyenko Date: Fri, 24 Nov 2017 08:59:41 +0100 Subject: [PATCH 3/4] Fix setting band and polarity if sat_number is negative --- lib/libdvbv5/dvb-sat.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/libdvbv5/dvb-sat.c b/lib/libdvbv5/dvb-sat.c index a01db72e..8b2fcf7d 100644 --- a/lib/libdvbv5/dvb-sat.c +++ b/lib/libdvbv5/dvb-sat.c @@ -523,10 +523,6 @@ static int dvbsat_diseqc_set_input(struct dvb_v5_fe_parms_priv *parms, struct diseqc_cmd cmd; const struct dvb_sat_lnb_priv *lnb = (void *)parms->p.lnb; - /* Negative numbers means to not use a DiSEqC switch */ - if (parms->p.sat_number < 0) - return 0; - dvb_fe_retrieve_parm(&parms->p, DTV_POLARIZATION, &pol); pol_v = (pol == POLARIZATION_V) || (pol == POLARIZATION_R); @@ -558,6 +554,9 @@ static int dvbsat_diseqc_set_input(struct dvb_v5_fe_parms_priv *parms, usleep(15 * 1000); + /* Negative numbers means to not use a DiSEqC switch */ + if (parms->p.sat_number >= 0) + { if (!t) rc = dvbsat_diseqc_write_to_port_group(parms, &cmd, high_band, pol_v, sat_number); @@ -578,6 +577,7 @@ static int dvbsat_diseqc_set_input(struct dvb_v5_fe_parms_priv *parms, return rc; } usleep(15 * 1000); + } rc = dvb_fe_sec_tone(&parms->p, tone_on ? SEC_TONE_ON : SEC_TONE_OFF); -- 2.13.6