Changeset 1186


Ignore:
Timestamp:
01/09/12 21:06:51 (4 months ago)
Author:
alonbl
Message:

ccid: signal status change only if actually changed in poll mode

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/ifd/ifd-ccid.c

    r1158 r1186  
    979979        } 
    980980 
    981         ifd_debug(1, "probed result: %d", IFD_CARD_STATUS_CHANGED | stat); 
    982  
    983         *status = IFD_CARD_STATUS_CHANGED | stat; 
     981        ifd_debug(1, "probed result: %d, cached: %d", stat, st->icc_present[slot]); 
     982 
     983        *status = stat; 
     984        if ( 
     985                st->icc_present[slot] == 0xFF || 
     986                (stat&IFD_CARD_PRESENT) != (st->icc_present[slot]&IFD_CARD_PRESENT) 
     987        ) { 
     988                *status |= IFD_CARD_STATUS_CHANGED; 
     989        } 
    984990        st->icc_present[slot] = stat; 
    985991        return 0; 
Note: See TracChangeset for help on using the changeset viewer.