Change in ...osmo-ccid-firmware[master]: iso7816_fsm: Allow ATR FSM to always return back to initial state (RE...

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

laforge gerrit-no-reply at lists.osmocom.org
Thu Oct 10 09:23:36 UTC 2019


laforge has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15745 )

Change subject: iso7816_fsm: Allow ATR FSM to always return back to initial state (RESET)
......................................................................

iso7816_fsm: Allow ATR FSM to always return back to initial state (RESET)

Change-Id: I71adefadc43bc8f5db7ce043393f9143cd45684f
---
M ccid_common/iso7816_fsm.c
1 file changed, 15 insertions(+), 8 deletions(-)

Approvals:
  laforge: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/ccid_common/iso7816_fsm.c b/ccid_common/iso7816_fsm.c
index b98e2bb..8705ad9 100644
--- a/ccid_common/iso7816_fsm.c
+++ b/ccid_common/iso7816_fsm.c
@@ -659,7 +659,8 @@
 	[ATR_S_WAIT_T0] = {
 		.name = "WAIT_T0",
 		.in_event_mask =	S(ISO7816_E_RX_SINGLE),
-		.out_state_mask =	S(ATR_S_WAIT_TA) |
+		.out_state_mask =	S(ATR_S_WAIT_TS) |
+					S(ATR_S_WAIT_TA) |
 					S(ATR_S_WAIT_TB) |
 					S(ATR_S_WAIT_TC) |
 					S(ATR_S_WAIT_TD) |
@@ -671,7 +672,8 @@
 	[ATR_S_WAIT_TA] = {
 		.name = "WAIT_TA",
 		.in_event_mask =	S(ISO7816_E_RX_SINGLE),
-		.out_state_mask =	S(ATR_S_WAIT_TB) |
+		.out_state_mask =	S(ATR_S_WAIT_TS) |
+					S(ATR_S_WAIT_TB) |
 					S(ATR_S_WAIT_TC) |
 					S(ATR_S_WAIT_TD) |
 					S(ATR_S_WAIT_HIST) |
@@ -682,7 +684,8 @@
 	[ATR_S_WAIT_TB] = {
 		.name = "WAIT_TB",
 		.in_event_mask =	S(ISO7816_E_RX_SINGLE),
-		.out_state_mask =	S(ATR_S_WAIT_TC) |
+		.out_state_mask =	S(ATR_S_WAIT_TS) |
+					S(ATR_S_WAIT_TC) |
 					S(ATR_S_WAIT_TD) |
 					S(ATR_S_WAIT_HIST) |
 					S(ATR_S_WAIT_TCK) |
@@ -692,7 +695,8 @@
 	[ATR_S_WAIT_TC] = {
 		.name = "WAIT_TC",
 		.in_event_mask =	S(ISO7816_E_RX_SINGLE),
-		.out_state_mask =	S(ATR_S_WAIT_TD) |
+		.out_state_mask =	S(ATR_S_WAIT_TS) |
+					S(ATR_S_WAIT_TD) |
 					S(ATR_S_WAIT_HIST) |
 					S(ATR_S_WAIT_TCK) |
 					S(ATR_S_WAIT_T0),
@@ -701,7 +705,8 @@
 	[ATR_S_WAIT_TD] = {
 		.name = "WAIT_TD",
 		.in_event_mask =	S(ISO7816_E_RX_SINGLE),
-		.out_state_mask =	S(ATR_S_WAIT_TA) |
+		.out_state_mask =	S(ATR_S_WAIT_TS) |
+					S(ATR_S_WAIT_TA) |
 					S(ATR_S_WAIT_TB) |
 					S(ATR_S_WAIT_TC) |
 					S(ATR_S_WAIT_TD) |
@@ -713,20 +718,22 @@
 	[ATR_S_WAIT_HIST] = {
 		.name = "WAIT_HIST",
 		.in_event_mask =	S(ISO7816_E_RX_SINGLE),
-		.out_state_mask =	S(ATR_S_WAIT_TCK) |
+		.out_state_mask =	S(ATR_S_WAIT_TS) |
+					S(ATR_S_WAIT_TCK) |
 					S(ATR_S_WAIT_T0),
 		.action = atr_wait_tX_action,
 	},
 	[ATR_S_WAIT_TCK] = {
 		.name = "WAIT_TCK",
 		.in_event_mask =	S(ISO7816_E_RX_SINGLE),
-		.out_state_mask =	S(ATR_S_DONE),
+		.out_state_mask =	S(ATR_S_WAIT_TS) |
+					S(ATR_S_DONE),
 		.action = atr_wait_tX_action,
 	},
 	[ATR_S_DONE] = {
 		.name = "DONE",
 		.in_event_mask =	0,
-		.out_state_mask =	S(ATR_S_WAIT_T0),
+		.out_state_mask =	S(ATR_S_WAIT_TS),
 		//.action = atr_done_action,
 	},
 

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/15745
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ccid-firmware
Gerrit-Branch: master
Gerrit-Change-Id: I71adefadc43bc8f5db7ce043393f9143cd45684f
Gerrit-Change-Number: 15745
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge at osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20191010/8a57bc7d/attachment.htm>


More information about the gerrit-log mailing list