aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/frontend.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-07-15 21:23:12 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-07-15 21:23:12 +0000
commite613232c4159b23b7160f474e5b09534d42f78ec (patch)
tree633dc3caacce1674ab0378a74dfba4a25e93bf90 /lib/dvb/frontend.cpp
parent8bfa53742165d0893dbd623d217bc855390a5663 (diff)
downloadenigma2-e613232c4159b23b7160f474e5b09534d42f78ec.tar.gz
enigma2-e613232c4159b23b7160f474e5b09534d42f78ec.zip
dont try to open the sec device when no -S is detected
Diffstat (limited to 'lib/dvb/frontend.cpp')
-rw-r--r--lib/dvb/frontend.cpp38
1 files changed, 15 insertions, 23 deletions
diff --git a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp
index 92507645..ae72401b 100644
--- a/lib/dvb/frontend.cpp
+++ b/lib/dvb/frontend.cpp
@@ -419,17 +419,6 @@ int eDVBFrontend::openFrontend()
m_tuning=0;
#if HAVE_DVB_API_VERSION < 3
- if (m_secfd < 0)
- {
- m_secfd = ::open(m_sec_filename, O_RDWR);
- if (m_secfd < 0)
- {
- eWarning("failed! (%s) %m", m_sec_filename);
- return -1;
- }
- }
- else
- eWarning("sec %d already opened", m_dvbid);
FrontendInfo fe_info;
#else
dvb_frontend_info fe_info;
@@ -441,10 +430,6 @@ int eDVBFrontend::openFrontend()
if (m_fd < 0)
{
eWarning("failed! (%s) %m", m_filename);
-#if HAVE_DVB_API_VERSION < 3
- ::close(m_secfd);
- m_secfd=-1;
-#endif
return -1;
}
}
@@ -457,10 +442,6 @@ int eDVBFrontend::openFrontend()
eWarning("ioctl FE_GET_INFO failed");
::close(m_fd);
m_fd = -1;
-#if HAVE_DVB_API_VERSION < 3
- ::close(m_secfd);
- m_secfd=-1;
-#endif
return -1;
}
@@ -468,6 +449,21 @@ int eDVBFrontend::openFrontend()
{
case FE_QPSK:
m_type = iDVBFrontend::feSatellite;
+#if HAVE_DVB_API_VERSION < 3
+ if (m_secfd < 0)
+ {
+ m_secfd = ::open(m_sec_filename, O_RDWR);
+ if (m_secfd < 0)
+ {
+ eWarning("failed! (%s) %m", m_sec_filename);
+ ::close(m_fd);
+ m_fd=-1;
+ return -1;
+ }
+ }
+ else
+ eWarning("sec %d already opened", m_dvbid);
+#endif
break;
case FE_QAM:
m_type = iDVBFrontend::feCable;
@@ -479,10 +475,6 @@ int eDVBFrontend::openFrontend()
eWarning("unknown frontend type.");
::close(m_fd);
m_fd = -1;
-#if HAVE_DVB_API_VERSION < 3
- ::close(m_secfd);
- m_secfd=-1;
-#endif
return -1;
}
eDebug("detected %s frontend", "satellite\0cable\0 terrestrial"+fe_info.type*10);