]> www.vanbest.org Git - sasc-ng.git/commitdiff
sc-nagra: fix ECM cmd resend
authorleslie <unknown>
Mon, 27 Sep 2010 16:19:04 +0000 (18:19 +0200)
committerleslie <unknown>
Mon, 27 Sep 2010 16:19:04 +0000 (18:19 +0200)
systems/sc-nagra/sc-nagra.c

index e26c90382c5fa08a41781ee61e7e5b7747247786..609b12736dd08a646ce34583c430a5777b1e7efb 100644 (file)
@@ -669,12 +669,12 @@ bool cSmartCardNagra::Decode(const cEcmInfo *ecm, const unsigned char *data, uns
     memset(pkt,0,sizeof(pkt));
     memcpy(pkt,data+3+2,data[4]);
     for(int i=1; i>=0; i--) {
-      if((!isN3 && !DoBlkCmd(data[3],data[4]+2,0x87,0x02,pkt)) ||
-         ( isN3 && !DoBlkCmd(data[3]+1,data[4]+5+2,0x88,0x04,pkt)) ||
-         !Status()) {
-        PRINTF(L_SC_ERROR,"ECM cmd failed%s",(i>0)?", retrying":"");
-        if(i==0) return false;
-        }
+      if(((!isN3 && DoBlkCmd(data[3],data[4]+2,0x87,0x02,pkt)) ||
+          ( isN3 && DoBlkCmd(data[3]+1,data[4]+5+2,0x88,0x04,pkt))) &&
+          Status())
+        break;
+      PRINTF(L_SC_ERROR,"ECM cmd failed%s",(i>0)?", retrying":"");
+      if(i==0) return false;
       }
     cCondWait::SleepMs(10);
     for(int retry=0; !GetCardStatus() && retry<5; retry++) cCondWait::SleepMs(5);