aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Wild <ewild@sysmocom.de>2019-11-27 15:05:09 +0100
committerEric Wild <ewild@sysmocom.de>2019-11-28 13:09:56 +0100
commit70d212d72764fa1ae80d03aaf192403ba924990b (patch)
tree267c6ebd4c1242deb5a31fe7b41e6d8731ecada4
parentf9a979a5f8d7fbd4b56accba269ff212b59d3af8 (diff)
don't wait for TCK if card only supports T0
See 7816-3 8.2.5, T0 only (maybe implicitly) and no T15 = no TCK. This could be handled by a timeout instead, but timeouts don't work yet. Change-Id: Ice7bc4e603bbbbef88258af41f61e14a06727add
-rw-r--r--ccid_common/iso7816_fsm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ccid_common/iso7816_fsm.c b/ccid_common/iso7816_fsm.c
index 21378e0..beda7ab 100644
--- a/ccid_common/iso7816_fsm.c
+++ b/ccid_common/iso7816_fsm.c
@@ -633,6 +633,10 @@ static void atr_wait_tX_action(struct osmo_fsm_inst *fi, uint32_t event, void *d
osmo_fsm_inst_state_chg_ms(fi, ATR_S_WAIT_TCK,
guard_time_ms, T_GUARD);
break;
+ } else {
+ /* no TCK present, ATR complete; notify parent */
+ osmo_fsm_inst_state_chg(fi, ATR_S_DONE, 0, 0);
+ osmo_fsm_inst_dispatch(fi->proc.parent, ISO7816_E_ATR_DONE_IND, atp->atr);
}
} else {
break;