Fix another race condition around ack button and usb communication.

This commit is contained in:
NIIBE Yutaka
2018-11-21 14:56:56 +09:00
parent 8f44f5d3c6
commit 980cff0a2f
2 changed files with 9 additions and 2 deletions

View File

@@ -1,6 +1,13 @@
2018-11-21 NIIBE Yutaka <gniibe@fsij.org>
* src/usb-ccid.c (ccid_thread): Fix a race condition sending
result APDU by ack button, time out, sending time extension block
again while tx_busy=1.
2018-11-17 NIIBE Yutaka <gniibe@fsij.org> 2018-11-17 NIIBE Yutaka <gniibe@fsij.org>
* src/main.c (device_initialize_once): Depends on MHZ. * src/main.c (device_initialize_once): Depends on MHZ to
distinguish GD32F103.
* src/openpgp-do.c (do_openpgpcard_aid): Ditto. * src/openpgp-do.c (do_openpgpcard_aid): Ditto.
2018-11-12 NIIBE Yutaka <gniibe@fsij.org> 2018-11-12 NIIBE Yutaka <gniibe@fsij.org>

View File

@@ -1766,7 +1766,7 @@ ccid_thread (void *arg)
{ {
eventmask_t m; eventmask_t m;
if (bDeviceState == USB_DEVICE_STATE_CONFIGURED) if (!c->tx_busy && bDeviceState == USB_DEVICE_STATE_CONFIGURED)
timeout_p = &timeout; timeout_p = &timeout;
else else
timeout_p = NULL; timeout_p = NULL;