mirror of
git://git.gnupg.org/gnupg.git
synced 2025-04-17 15:44:34 +02:00
scd: Fix error return path.
* scd/ccid-driver.c (bulk_in): Remove EAGAIN handling. Handle LIBUSB_ERROR_NO_DEVICE to return CCID_DRIVER_ERR_NO_READER. -- GnuPG-bug-id: 2306 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
508b0deb70
commit
cb4fee8bb6
@ -1976,11 +1976,12 @@ bulk_in (ccid_driver_t handle, unsigned char *buffer, size_t length,
|
|||||||
if (rc < 0)
|
if (rc < 0)
|
||||||
{
|
{
|
||||||
DEBUGOUT_1 ("usb_bulk_read error: %s\n", libusb_error_name (rc));
|
DEBUGOUT_1 ("usb_bulk_read error: %s\n", libusb_error_name (rc));
|
||||||
if (rc == EAGAIN && eagain_retries++ < 3)
|
if (rc == LIBUSB_ERROR_NO_DEVICE)
|
||||||
{
|
{
|
||||||
my_sleep (1);
|
handle->enodev_seen = 1;
|
||||||
goto retry;
|
return CCID_DRIVER_ERR_NO_READER;
|
||||||
}
|
}
|
||||||
|
|
||||||
return CCID_DRIVER_ERR_CARD_IO_ERROR;
|
return CCID_DRIVER_ERR_CARD_IO_ERROR;
|
||||||
}
|
}
|
||||||
if (msglen < 0)
|
if (msglen < 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user