From f8961a576d3b5d69bb0e600a64553659ebef8ee7 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Thu, 25 Jul 2019 09:15:12 +0900 Subject: [PATCH] scd: Fix bBWI value. * scd/ccid-driver.c (ccid_transceive_apdu_level): Use bBWI=0 for APDU level transfer. (ccid_transceive): Use bBWI=0 or the value returend by WTX for TPDU level transfer. -- Backported master commit of: 858dc9564326e65e6d8771af160d4513aea1e4eb GnuPG-bug-id: 4654 Signed-off-by: NIIBE Yutaka --- scd/ccid-driver.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scd/ccid-driver.c b/scd/ccid-driver.c index d7b6b5a4e..896f64f0f 100644 --- a/scd/ccid-driver.c +++ b/scd/ccid-driver.c @@ -2844,7 +2844,7 @@ ccid_transceive_apdu_level (ccid_driver_t handle, size_t apdu_part_len; size_t msglen; unsigned char seqno; - int bwi = 4; + int bwi = 0; unsigned char chain = 0; if (apdu_len == 0 || apdu_len > sizeof (msg) - 10) @@ -3096,7 +3096,7 @@ ccid_transceive (ccid_driver_t handle, msg[0] = PC_to_RDR_XfrBlock; msg[5] = 0; /* slot */ msg[6] = seqno = handle->seqno++; - msg[7] = 4; /* bBWI */ + msg[7] = wait_more; /* bBWI */ msg[8] = 0; /* RFU */ msg[9] = 0; /* RFU */ set_msg_len (msg, tpdulen);