dont try to open the sec device when no -S is detected
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>
Sun, 15 Jul 2007 21:23:12 +0000 (21:23 +0000)
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>
Sun, 15 Jul 2007 21:23:12 +0000 (21:23 +0000)
lib/dvb/frontend.cpp

index 9250764..ae72401 100644 (file)
@@ -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);