use workaround for magic-ci
[enigma2.git] / lib / dvb_ci / dvbci_session.cpp
index a0171a3dff407f8d2772801d42c22c612983a44c..afe9e97e820619fb36be3232627ba46fdb917cb7 100644 (file)
@@ -136,7 +136,7 @@ eDVBCISession *eDVBCISession::createSession(eDVBCISlot *slot, const unsigned cha
                printf("session: %p\n",session);
                break;
        case 0x00020041:
-               session=slot->application_manager = new eDVBCIApplicationManagerSession;
+               session=slot->application_manager = new eDVBCIApplicationManagerSession(slot);
                printf("APPLICATION MANAGER\n");
                break;
        case 0x00030041:
@@ -293,13 +293,13 @@ void eDVBCISession::receiveData(eDVBCISlot *slot, const unsigned char *ptr, size
                        len-=hlen;
 
                        //if (eDVBCIModule::getInstance()->workarounds_active & eDVBCIModule::workaroundMagicAPDULength)
-                       //{
-                       //      if (((len-alen) > 0) && ((len - alen) < 3))
-                       //      {
-                       //              printf("WORKAROUND: applying work around MagicAPDULength\n");
-                       //              alen=len;
-                       //      }
-                       //}
+                       {
+                               if (((len-alen) > 0) && ((len - alen) < 3))
+                               {
+                                       printf("WORKAROUND: applying work around MagicAPDULength\n");
+                                       alen=len;
+                               }
+                       }
                        if (session->receivedAPDU(tag, pkt, alen))
                                session->action = 1;
                        pkt+=alen;