linuxdvb satconf: handle correctly LNB power off

This commit is contained in:
Jaroslav Kysela 2014-12-19 16:35:57 +01:00
parent eae66e1424
commit 3c5d40916d
2 changed files with 13 additions and 2 deletions

View file

@ -169,7 +169,16 @@ linuxdvb_lnb_bandstack_tune
( linuxdvb_diseqc_t *ld, dvb_mux_t *lm, linuxdvb_satconf_ele_t *ls, int fd )
{
int pol = linuxdvb_lnb_bandstack_pol((linuxdvb_lnb_t*)ld, lm);
return linuxdvb_diseqc_set_volt(fd, pol);
/* en50494 does not use the voltage tune. this is happend in the switch */
if (ls->lse_en50494)
return 0;
if (ls->lse_parent->ls_diseqc_full || ls->lse_parent->ls_last_pol != pol + 1) {
ls->lse_parent->ls_last_pol = pol + 1;
return linuxdvb_diseqc_set_volt(fd, pol);
}
return 0;
}
/* **************************************************************************

View file

@ -656,9 +656,11 @@ linuxdvb_satconf_post_stop_mux
( linuxdvb_satconf_t *ls )
{
gtimer_disarm(&ls->ls_diseqc_timer);
if (ls->ls_frontend && ls->ls_lnb_poweroff)
if (ls->ls_frontend && ls->ls_lnb_poweroff) {
linuxdvb_diseqc_set_volt(
((linuxdvb_frontend_t *)ls->ls_frontend)->lfe_fe_fd, -1);
linuxdvb_satconf_reset(ls);
}
}
int