linuxdvb diseqc: reset cache values when frontend is closed, fixes #2547

This commit is contained in:
Jaroslav Kysela 2014-12-14 13:32:25 +01:00
parent 70a17dfb42
commit 811eeb4376
3 changed files with 19 additions and 0 deletions

View file

@ -209,6 +209,8 @@ linuxdvb_frontend_enabled_updated ( mpegts_input_t *mi )
if (lfe->lfe_fe_fd > 0) {
close(lfe->lfe_fe_fd);
lfe->lfe_fe_fd = -1;
if (lfe->lfe_satconf)
linuxdvb_satconf_reset(lfe->lfe_satconf);
}
gtimer_disarm(&lfe->lfe_monitor_timer);
@ -483,6 +485,8 @@ linuxdvb_frontend_monitor ( void *aux )
tvhtrace("linuxdvb", "%s - closing frontend", buf);
close(lfe->lfe_fe_fd);
lfe->lfe_fe_fd = -1;
if (lfe->lfe_satconf)
linuxdvb_satconf_reset(lfe->lfe_satconf);
}
/* Check accessibility */

View file

@ -335,4 +335,7 @@ void linuxdvb_satconf_post_stop_mux( linuxdvb_satconf_t *ls );
int linuxdvb_satconf_start_mux
( linuxdvb_satconf_t *ls, mpegts_mux_instance_t *mmi );
void linuxdvb_satconf_reset
( linuxdvb_satconf_t *ls );
#endif /* __TVH_LINUXDVB_PRIVATE_H__ */

View file

@ -776,6 +776,18 @@ linuxdvb_satconf_start_mux
return linuxdvb_satconf_ele_tune(lse);
}
/*
*
*/
void
linuxdvb_satconf_reset
( linuxdvb_satconf_t *ls )
{
ls->ls_last_switch = NULL;
ls->ls_last_pol = 0;
ls->ls_last_toneburst = 0;
}
/* **************************************************************************
* Create/Delete satconf
* *************************************************************************/