diff --git a/src/pcsc.hxx b/src/pcsc.hxx index 8175a20..0eb1fc9 100644 --- a/src/pcsc.hxx +++ b/src/pcsc.hxx @@ -320,22 +320,28 @@ namespace pcsc { reconnect, first transaction (SCardTransmit) fails with SCARD_W_RESET_CARD (0x80100068). */ - if (_state==SCARD_W_RESET_CARD) { // just resend once + for (int bugCnt(0); + bugCnt<100 && _state==SCARD_W_RESET_CARD; + ++bugCnt) { // just try to resend CRYPTOLOG("Mac OS X 10.10 implementation bug: " "On Mac OSX 10.10 there is a bug in " "PCSC: After a reconnect, first " "transaction (SCardTransmit) fails " "with SCARD_W_RESET_CARD (0x80100068). " - "Retry once."); - check(SCardTransmit(_id, &rPci, - (LPCBYTE)in.c_str(), - in.size(), - 0, buff, &len), - "smartcard transmit message "+crypto::hex(in)); + "Retry Nr. "< "<