<p>Hoernchen has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/19470">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">ccid: handle timeouts<br><br>Empty trays caused a hang, because the timeout was not handled. This<br>fixes this, and allows manual voltage selection by attempting slot<br>powerup with different voltages after timeout until it succeeds.<br><br>Change-Id: I4dfc8d6d0e25008765615d3c4149a75efc0ef44d<br>---<br>M ccid_common/ccid_slot_fsm.c<br>1 file changed, 18 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/70/19470/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/ccid_common/ccid_slot_fsm.c b/ccid_common/ccid_slot_fsm.c</span><br><span>index 747fef3..dc90a38 100644</span><br><span>--- a/ccid_common/ccid_slot_fsm.c</span><br><span>+++ b/ccid_common/ccid_slot_fsm.c</span><br><span>@@ -122,6 +122,7 @@</span><br><span>    case ISO7816_E_TPDU_FAILED_IND:</span><br><span>      case ISO7816_E_PPS_DONE_IND:</span><br><span>         case ISO7816_E_PPS_FAILED_IND:</span><br><span style="color: hsl(120, 100%, 40%);">+        case ISO7816_E_WTIME_EXP:</span><br><span>            cs->event_data = data;</span><br><span> #ifdef OCTSIMFWBUILD</span><br><span>            asm volatile("dmb st": : :"memory");</span><br><span>@@ -143,10 +144,25 @@</span><br><span> </span><br><span>         if(!event)</span><br><span>           return 0;</span><br><span style="color: hsl(0, 100%, 40%);">-       if(event && !data)</span><br><span style="color: hsl(0, 100%, 40%);">-              return 0;</span><br><span style="color: hsl(120, 100%, 40%);">+//   if(event && !data)</span><br><span style="color: hsl(120, 100%, 40%);">+//          return 0;</span><br><span> </span><br><span>        switch (event) {</span><br><span style="color: hsl(120, 100%, 40%);">+      case ISO7816_E_WTIME_EXP:</span><br><span style="color: hsl(120, 100%, 40%);">+             tpdu = data;</span><br><span style="color: hsl(120, 100%, 40%);">+          LOGPCS(cs, LOGL_DEBUG, "%s(event=%d, data=0)\n", __func__, event);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+              /* perform deactivation */</span><br><span style="color: hsl(120, 100%, 40%);">+            card_uart_ctrl(ss->cuart, CUART_CTL_RST, true);</span><br><span style="color: hsl(120, 100%, 40%);">+            card_uart_ctrl(ss->cuart, CUART_CTL_POWER, false);</span><br><span style="color: hsl(120, 100%, 40%);">+         cs->icc_powered = false;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+               resp = ccid_gen_data_block(cs, ss->seq, CCID_CMD_STATUS_FAILED, CCID_ERR_ICC_MUTE, 0, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+          ccid_slot_send_unbusy(cs, resp);</span><br><span style="color: hsl(120, 100%, 40%);">+              cs->event = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+             break;</span><br><span>       case ISO7816_E_ATR_DONE_IND:</span><br><span>                 tpdu = data;</span><br><span>                 LOGPCS(cs, LOGL_DEBUG, "%s(event=%d, data=%s)\n", __func__, event,</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/19470">change 19470</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/19470"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ccid-firmware </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I4dfc8d6d0e25008765615d3c4149a75efc0ef44d </div>
<div style="display:none"> Gerrit-Change-Number: 19470 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Hoernchen <ewild@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>