From aab3d7c82b3c9da6eea30e323dc199e00c8eb735 Mon Sep 17 00:00:00 2001 From: Christina Quast Date: Thu, 9 Apr 2015 17:02:17 +0200 Subject: [PATCH] phone.c: Check status val in Callback func --- firmware/simtrace_src/phone.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/firmware/simtrace_src/phone.c b/firmware/simtrace_src/phone.c index a8bc896d..06a3dec0 100644 --- a/firmware/simtrace_src/phone.c +++ b/firmware/simtrace_src/phone.c @@ -293,6 +293,11 @@ void Phone_Master_Init( void ) { void send_ATR(uint8_t *ATR, uint8_t status, uint32_t transferred, uint32_t remaining) { uint32_t i; + + if (status != USBD_STATUS_SUCCESS) { + TRACE_ERROR("USB err status (%s): %d", __FUNCTION__, status); + return; + } PR("Send %x %x .. %x (tr: %d, st: %x)", ATR[0], ATR[1], ATR[transferred-1], transferred, status); for ( i = 0; i < transferred; i++ ) { _ISO7816_SendChar(*(ATR++)); @@ -304,6 +309,11 @@ void send_ATR(uint8_t *ATR, uint8_t status, uint32_t transferred, uint32_t remai void sendResponse( uint8_t *pArg, uint8_t status, uint32_t transferred, uint32_t remaining) { uint32_t i; + + if (status != USBD_STATUS_SUCCESS) { + TRACE_ERROR("USB err status (%s): %d", __FUNCTION__, status); + return; + } PR("sendResp, stat: %X, trnsf: %x, rem: %x\n\r", status, transferred, remaining); PR("Resp: %x %x %x .. %x", pArg[0], pArg[1], pArg[2], pArg[transferred-1]);