diff --git a/SOURCES/lvm2-2_03_14-lvchange-fix-lvchange-refresh-failed-for-dm-suspend-.patch b/SOURCES/lvm2-2_03_14-lvchange-fix-lvchange-refresh-failed-for-dm-suspend-.patch
new file mode 100644
index 0000000..945b369
--- /dev/null
+++ b/SOURCES/lvm2-2_03_14-lvchange-fix-lvchange-refresh-failed-for-dm-suspend-.patch
@@ -0,0 +1,35 @@
+From 317bc732073134159bc74e126339f8e498bdb376 Mon Sep 17 00:00:00 2001
+From: Yi Wang <wang.yi59@zte.com.cn>
+Date: Fri, 13 Aug 2021 13:49:13 +0800
+Subject: [PATCH] lvchange: fix lvchange refresh failed for dm suspend or
+ resume failed
+
+When multiple lvchange refresh processes executed at the same time,
+suspend/resume ioctl on the same dm, some of these commands will be failed
+for dm aready change status, and ioctl will return EINVAL in _do_dm_ioctl function.
+to avoid this problem, add READ_FOR_ACTIVATE flags in lvchange refresh process,
+it will hold LCK_WRITE lock and avoid suspend/resume dm at the same time.
+
+Signed-off-by: Long YunJian <long.yunjian@zte.com.cn>
+Signed-off-by: Yi Wang <wang.yi59@zte.com.cn>
+(cherry picked from commit 47bcb446b83f9aa4fca74301fda109a8bf670fbb)
+---
+ tools/lvchange.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/lvchange.c b/tools/lvchange.c
+index 8293f5035..fb9ac895f 100644
+--- a/tools/lvchange.c
++++ b/tools/lvchange.c
+@@ -1620,7 +1620,7 @@ int lvchange_refresh_cmd(struct cmd_context *cmd, int argc, char **argv)
+ 	cmd->handles_missing_pvs = 1;
+ 	cmd->lockd_vg_default_sh = 1;
+ 
+-	return process_each_lv(cmd, argc, argv, NULL, NULL, 0,
++	return process_each_lv(cmd, argc, argv, NULL, NULL, READ_FOR_ACTIVATE,
+ 			       NULL, &_lvchange_refresh_check, &_lvchange_refresh_single);
+ }
+ 
+-- 
+2.34.1
+
diff --git a/SPECS/lvm2.spec b/SPECS/lvm2.spec
index 7da9aa8..ff07df2 100644
--- a/SPECS/lvm2.spec
+++ b/SPECS/lvm2.spec
@@ -59,7 +59,7 @@ Version: 2.03.12
 %if 0%{?from_snapshot}
 Release: 0.1.20210426git%{shortcommit}%{?dist}%{?rel_suffix}
 %else
-Release: 10%{?dist}%{?rel_suffix}
+Release: 11%{?dist}%{?rel_suffix}
 %endif
 License: GPLv2
 URL: http://sourceware.org/lvm2
@@ -116,6 +116,8 @@ Patch32: lvm2-2_03_14-tests-check-lvm2-parses-vdo-statistics.patch
 Patch33: lvm2-2_03_14-vdo-lvm_import_vdo-script-needs-to-continue-when-vgn.patch
 Patch34: lvm2-2_03_14-vdo-man-page-updates.patch
 Patch35: lvm2-2_03_14-vdo-prompt-with-no-return-failure.patch
+# BZ 2040514:
+Patch36: lvm2-2_03_14-lvchange-fix-lvchange-refresh-failed-for-dm-suspend-.patch
 
 BuildRequires: gcc
 %if %{enable_testsuite}
@@ -211,6 +213,7 @@ or more physical volumes and creating one or more logical volumes
 %patch33 -p1 -b .backup33
 %patch34 -p1 -b .backup34
 %patch35 -p1 -b .backup35
+%patch36 -p1 -b .backup36
 
 %build
 %global _default_pid_dir /run
@@ -839,6 +842,9 @@ An extensive functional testsuite for LVM2.
 %endif
 
 %changelog
+* Wed Feb 16 2022 Marian Csontos <mcsontos@redhat.com> - 2.03.12-11
+- Fix multiple concurrent LV refreshes failures.
+
 * Mon Sep 20 2021 Marian Csontos <mcsontos@redhat.com> - 2.03.12-10
 - Fix incorrect memory free.