From 7a32f87cccddb40521bfdd4eb2d0dc9c88fb3fe5 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Mon, 7 Mar 2016 20:12:38 +0900 Subject: [PATCH] scd: Bug fix for a device with multiple interfaces. * scd/ccid-driver.c (scan_or_find_usb_device): Use IFC_NO when accessing interface information. -- Signed-off-by: NIIBE Yutaka --- scd/ccid-driver.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scd/ccid-driver.c b/scd/ccid-driver.c index 87cec3296..e968b83a7 100644 --- a/scd/ccid-driver.c +++ b/scd/ccid-driver.c @@ -1155,9 +1155,10 @@ scan_or_find_usb_device (int scan_mode, for (ifc_no=0; ifc_no < config->bNumInterfaces; ifc_no++) { - for (set_no=0; set_no < config->interface->num_altsetting; set_no++) + for (set_no=0; set_no < config->interface[ifc_no].num_altsetting; + set_no++) { - ifcdesc = (config->interface->altsetting + set_no); + ifcdesc = (config->interface[ifc_no].altsetting + set_no); /* The second condition is for older SCM SPR 532 who did not know about the assigned CCID class. The third condition does the same for a Cherry SmartTerminal