Changeset 3512 for trunk

Show
Ignore:
Timestamp:
05/10/08 09:55:01 (8 months ago)
Author:
alonbl
Message:

Better handle openct reader replug, revert last change in pkcs11-pin

Location:
trunk/src/libopensc
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/libopensc/pkcs15-pin.c

    r3511 r3512  
    204204        card = p15card->card; 
    205205 
    206         /* 
    207          * PC/SC 
    208          * First call: returns SC_ERROR_CARD_RESET or SC_ERROR_READER_REATTACHED if card available. 
    209          * Second call: succeeds. 
    210          * 
    211          * OpenCT 
    212          * First call: returns SC_ERROR_READER_DETACHED even if card is available. 
    213          * Second call: SC_ERROR_READER_REATTACHED if card is available. 
    214          * Third call: succeeds. 
    215          */ 
    216206        r = sc_lock(card); 
    217         if (r == SC_ERROR_CARD_RESET || r == SC_ERROR_READER_DETACHED || r == SC_ERROR_READER_REATTACHED) { 
     207        if (r == SC_ERROR_CARD_RESET || r == SC_ERROR_READER_REATTACHED) { 
    218208                r = sc_lock(card); 
    219                 if (r == SC_ERROR_READER_REATTACHED) 
    220                         r = sc_lock(card); 
    221209        } 
    222210        SC_TEST_RET(card->ctx, r, "sc_lock() failed"); 
  • trunk/src/libopensc/reader-openct.c

    r3506 r3512  
    431431                ct_reader_disconnect(data->h); 
    432432                data->h = NULL; 
    433                 return SC_ERROR_READER_DETACHED; 
     433 
     434                /* Try to reconnect as reader may be plugged-in again */ 
     435                return openct_reader_reconnect(reader, slot); 
    434436        } 
    435437