projects
/
vuplus_dvbapp
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
685c5b7
)
[Frontend] Fix lock fail for linked tuners.
author
hschang
<chang@dev3>
Fri, 4 Mar 2016 02:17:54 +0000
(11:17 +0900)
committer
hschang
<chang@dev3>
Fri, 4 Mar 2016 05:22:35 +0000
(14:22 +0900)
lib/dvb/frontend.cpp
patch
|
blob
|
history
lib/dvb/sec.cpp
patch
|
blob
|
history
diff --git
a/lib/dvb/frontend.cpp
b/lib/dvb/frontend.cpp
index
7b95149
..
fa36653
100755
(executable)
--- a/
lib/dvb/frontend.cpp
+++ b/
lib/dvb/frontend.cpp
@@
-1878,12
+1878,14
@@
int eDVBFrontend::tuneLoopInt() // called by m_tuneTimer
tmp = prev->m_frontend->m_data[LINKED_PREV_PTR];
if (tmp == -1 && sec_fe != this && !prev->m_inuse) {
int state = sec_fe->m_state;
tmp = prev->m_frontend->m_data[LINKED_PREV_PTR];
if (tmp == -1 && sec_fe != this && !prev->m_inuse) {
int state = sec_fe->m_state;
+#if 0 // Since following code causes lock fail for linked tuners in certain conditions, it does not apply.
// workaround to put the kernel frontend thread into idle state!
if (state != eDVBFrontend::stateIdle && state != stateClosed)
{
sec_fe->closeFrontend(true);
state = sec_fe->m_state;
}
// workaround to put the kernel frontend thread into idle state!
if (state != eDVBFrontend::stateIdle && state != stateClosed)
{
sec_fe->closeFrontend(true);
state = sec_fe->m_state;
}
+#endif
// sec_fe is closed... we must reopen it here..
if (state == stateClosed)
{
// sec_fe is closed... we must reopen it here..
if (state == stateClosed)
{
diff --git
a/lib/dvb/sec.cpp
b/lib/dvb/sec.cpp
index
878a835
..
2affc65
100644
(file)
--- a/
lib/dvb/sec.cpp
+++ b/
lib/dvb/sec.cpp
@@
-340,6
+340,7
@@
RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
}
if (satposDependPtr != -1) // we dont need uncommitted switch and rotor cmds on second output of a rotor lnb
diseqc_mode = eDVBSatelliteDiseqcParameters::V1_0;
}
if (satposDependPtr != -1) // we dont need uncommitted switch and rotor cmds on second output of a rotor lnb
diseqc_mode = eDVBSatelliteDiseqcParameters::V1_0;
+#if 0 // Since following code causes lock fail for linked tuners in certain conditions, it does not apply.
else {
// in eDVBFrontend::tuneLoop we call closeFrontend and ->inc_use() in this this condition (to put the kernel frontend thread into idle state)
// so we must resend all diseqc stuff (voltage is disabled when the frontend is closed)
else {
// in eDVBFrontend::tuneLoop we call closeFrontend and ->inc_use() in this this condition (to put the kernel frontend thread into idle state)
// so we must resend all diseqc stuff (voltage is disabled when the frontend is closed)
@@
-348,6
+349,7
@@
RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
if (!linked_fe->m_inuse && state != eDVBFrontend::stateIdle)
forceChanged = true;
}
if (!linked_fe->m_inuse && state != eDVBFrontend::stateIdle)
forceChanged = true;
}
+#endif
}
sec_fe->getData(eDVBFrontend::CSW, lastcsw);
}
sec_fe->getData(eDVBFrontend::CSW, lastcsw);