From 161181d347770dbab27c6e40a2a828840c218e4e Mon Sep 17 00:00:00 2001 From: leslie Date: Mon, 27 Sep 2010 18:19:04 +0200 Subject: [PATCH] sc-nagra: fix ECM cmd resend --- systems/sc-nagra/sc-nagra.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/systems/sc-nagra/sc-nagra.c b/systems/sc-nagra/sc-nagra.c index e26c903..609b127 100644 --- a/systems/sc-nagra/sc-nagra.c +++ b/systems/sc-nagra/sc-nagra.c @@ -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); -- 2.39.5