aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scd/app.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/scd/app.c b/scd/app.c
index 39910d2f9..a49972433 100644
--- a/scd/app.c
+++ b/scd/app.c
@@ -325,11 +325,11 @@ select_application (ctrl_t ctrl, const char *name, app_t *r_app, int scan)
*r_app = NULL;
- if (scan
+ if ((scan && !app_top)
/* FIXME: Here, we can change code to support multiple readers.
For now, we only open a single reader.
*/
- && !app_top)
+ || !app_top)
{
slot = apdu_open_reader (opt.reader_port);
if (slot >= 0)
@@ -374,6 +374,8 @@ select_application (ctrl_t ctrl, const char *name, app_t *r_app, int scan)
}
unlock_app (app);
}
+ else
+ err = gpg_error (GPG_ERR_ENODEV);
return err;
}