diff --git a/meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Fix-misleading-code-indentation.patch b/meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Fix-misleading-code-indentation.patch
deleted file mode 100644
index eb71b9d..0000000
--- a/meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Fix-misleading-code-indentation.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 283578519ec83a8792b026c10322789784d629de Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 27 Dec 2019 11:33:57 -0800
-Subject: [PATCH] Fix misleading code indentation
-
-Fixes
-error: misleading indentation; statement is not part of the previous 'if' [-Werror,-Wmisleading-indentation]
-         if(cipher)
-         ^
-../../../git/src/libopensc/card-entersafe.c:369:2: note: previous statement is here
-        if(sbuf)
-        ^
-Upstream-Status: Submitted [https://github.com/OpenSC/OpenSC/pull/1894]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/libopensc/card-entersafe.c | 12 ++++++------
- src/tools/pkcs15-init.c        |  4 ++--
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/src/libopensc/card-entersafe.c b/src/libopensc/card-entersafe.c
-index 3e42c11f..abb9fd81 100644
---- a/src/libopensc/card-entersafe.c
-+++ b/src/libopensc/card-entersafe.c
-@@ -352,10 +352,10 @@ static int entersafe_transmit_apdu(sc_card_t *card, sc_apdu_t *apdu,
- 	 size_t cipher_data_size,mac_data_size;
- 	 int blocks;
- 	 int r=SC_SUCCESS;
--	u8 *sbuf=NULL;
--	size_t ssize=0;
-+	 u8 *sbuf=NULL;
-+	 size_t ssize=0;
- 
--	SC_FUNC_CALLED(card->ctx, SC_LOG_DEBUG_VERBOSE);
-+	 SC_FUNC_CALLED(card->ctx, SC_LOG_DEBUG_VERBOSE);
- 
- 	 assert(card);
- 	 assert(apdu);
-@@ -363,10 +363,10 @@ static int entersafe_transmit_apdu(sc_card_t *card, sc_apdu_t *apdu,
- 	 if((cipher||mac) && (!key||(keylen!=8 && keylen!=16)))
- 		  SC_FUNC_RETURN(card->ctx, SC_LOG_DEBUG_VERBOSE, SC_ERROR_INVALID_ARGUMENTS);
- 
--	r = sc_apdu_get_octets(card->ctx, apdu, &sbuf, &ssize, SC_PROTO_RAW);
--	if (r == SC_SUCCESS)
-+	 r = sc_apdu_get_octets(card->ctx, apdu, &sbuf, &ssize, SC_PROTO_RAW);
-+	 if (r == SC_SUCCESS)
- 		sc_apdu_log(card->ctx, SC_LOG_DEBUG_VERBOSE, sbuf, ssize, 1);
--	if(sbuf)
-+	 if(sbuf)
- 		free(sbuf);
- 
- 	 if(cipher)
-diff --git a/src/tools/pkcs15-init.c b/src/tools/pkcs15-init.c
-index 1ce79f45..9a73121c 100644
---- a/src/tools/pkcs15-init.c
-+++ b/src/tools/pkcs15-init.c
-@@ -2311,8 +2311,8 @@ do_read_private_key(const char *filename, const char *format,
- 			r = util_getpass(&passphrase, &len, stdin);
- 			if (r < 0 || !passphrase)
- 				return SC_ERROR_INTERNAL;
-- 			r = do_read_pkcs12_private_key(filename,
-- 					passphrase, pk, certs, max_certs);
-+			r = do_read_pkcs12_private_key(filename,
-+					passphrase, pk, certs, max_certs);
- 		}
- 	} else {
- 		util_error("Error when reading private key. "
--- 
-2.24.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Remove-redundant-logging.patch b/meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Remove-redundant-logging.patch
deleted file mode 100644
index 291f1a2..0000000
--- a/meta-openembedded/meta-oe/recipes-support/opensc/opensc/0001-Remove-redundant-logging.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From c012f46965b3fe24e31367796e52c2d0b14ca5d9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 17 Dec 2018 18:44:23 -0800
-Subject: [PATCH] Remove redundant logging
-
-Same information is printed a few line below in same function, the only
-difference is that there it takes care of case when label is NULL pointer
-unlike this line
-
-secondly, every function call to cosm_write_tokeninfo() in this file
-passes label=NULL, and then it tries to print a null pointer
-
-Fixes errors like
-src/libopensc/log.h:48:47: error: '%s' directive argument is null
-[-Werror=format-overflow=]
-
-Upstream-Status: Submitted [https://github.com/OpenSC/OpenSC/pull/1557]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/pkcs15init/pkcs15-oberthur.c | 1 -
- 1 file changed, 1 deletion(-)
-
-Index: git/src/pkcs15init/pkcs15-oberthur.c
-===================================================================
---- git.orig/src/pkcs15init/pkcs15-oberthur.c
-+++ git/src/pkcs15init/pkcs15-oberthur.c
-@@ -70,7 +70,6 @@ cosm_write_tokeninfo (struct sc_pkcs15_c
- 	ctx = p15card->card->ctx;
- 
- 	SC_FUNC_CALLED(ctx, SC_LOG_DEBUG_VERBOSE);
--	sc_debug(ctx, SC_LOG_DEBUG_NORMAL, "cosm_write_tokeninfo() label '%s'; flags 0x%X", label, flags);
- 	if (sc_profile_get_file(profile, COSM_TITLE"-token-info", &file)) {
- 		rv = SC_ERROR_INCONSISTENT_PROFILE;
- 		SC_TEST_GOTO_ERR(ctx, SC_LOG_DEBUG_NORMAL, rv, "Cannot find "COSM_TITLE"-token-info");
diff --git a/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.19.0.bb b/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.20.0.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.19.0.bb
rename to meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.20.0.bb
index 0d744e2..a815980 100644
--- a/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.19.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.20.0.bb
@@ -12,10 +12,8 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
 
 #v0.19.0
-SRCREV = "f1691fc91fc113191c3a8aaf5facd6983334ec47"
+SRCREV = "45e29056ccde422e70ed3585084a7f150c632515"
 SRC_URI = "git://github.com/OpenSC/OpenSC \
-           file://0001-Remove-redundant-logging.patch \
-           file://0001-Fix-misleading-code-indentation.patch \
           "
 DEPENDS = "virtual/libiconv openssl"
 
