Change in osmo-ccid-firmware[master]: ccid: handle timeouts

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/.

Hoernchen gerrit-no-reply at lists.osmocom.org
Thu Jul 30 21:23:36 UTC 2020


Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/19470 )


Change subject: ccid: handle timeouts
......................................................................

ccid: handle timeouts

Empty trays caused a hang, because the timeout was not handled. This
fixes this, and allows manual voltage selection by attempting slot
powerup with different voltages after timeout until it succeeds.

Change-Id: I4dfc8d6d0e25008765615d3c4149a75efc0ef44d
---
M ccid_common/ccid_slot_fsm.c
1 file changed, 18 insertions(+), 2 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/70/19470/1

diff --git a/ccid_common/ccid_slot_fsm.c b/ccid_common/ccid_slot_fsm.c
index 747fef3..dc90a38 100644
--- a/ccid_common/ccid_slot_fsm.c
+++ b/ccid_common/ccid_slot_fsm.c
@@ -122,6 +122,7 @@
 	case ISO7816_E_TPDU_FAILED_IND:
 	case ISO7816_E_PPS_DONE_IND:
 	case ISO7816_E_PPS_FAILED_IND:
+	case ISO7816_E_WTIME_EXP:
 		cs->event_data = data;
 #ifdef OCTSIMFWBUILD
 		asm volatile("dmb st": : :"memory");
@@ -143,10 +144,25 @@
 
 	if(!event)
 		return 0;
-	if(event && !data)
-		return 0;
+//	if(event && !data)
+//		return 0;
 
 	switch (event) {
+	case ISO7816_E_WTIME_EXP:
+		tpdu = data;
+		LOGPCS(cs, LOGL_DEBUG, "%s(event=%d, data=0)\n", __func__, event);
+
+
+		/* perform deactivation */
+		card_uart_ctrl(ss->cuart, CUART_CTL_RST, true);
+		card_uart_ctrl(ss->cuart, CUART_CTL_POWER, false);
+		cs->icc_powered = false;
+
+
+		resp = ccid_gen_data_block(cs, ss->seq, CCID_CMD_STATUS_FAILED, CCID_ERR_ICC_MUTE, 0, 0);
+		ccid_slot_send_unbusy(cs, resp);
+		cs->event = 0;
+		break;
 	case ISO7816_E_ATR_DONE_IND:
 		tpdu = data;
 		LOGPCS(cs, LOGL_DEBUG, "%s(event=%d, data=%s)\n", __func__, event,

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/19470
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: I4dfc8d6d0e25008765615d3c4149a75efc0ef44d
Gerrit-Change-Number: 19470
Gerrit-PatchSet: 1
Gerrit-Owner: Hoernchen <ewild at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200730/fc940d0e/attachment.htm>


More information about the gerrit-log mailing list