mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-10-27 16:17:47 +00:00
40 lines
1.4 KiB
Diff
40 lines
1.4 KiB
Diff
From 47d06a1c2849f5c3560907404618744e609c9b38 Mon Sep 17 00:00:00 2001
|
|
From: Vitaly Kuznetsov <vkuznets@redhat.com>
|
|
Date: Fri, 26 Feb 2016 15:13:18 -0800
|
|
Subject: [PATCH 35/44] Drivers: hv: vmbus: avoid unneeded compiler
|
|
optimizations in vmbus_wait_for_unload()
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Message header is modified by the hypervisor and we read it in a loop,
|
|
we need to prevent compilers from optimizing accesses. There are no such
|
|
optimizations at this moment, this is just a future proof.
|
|
|
|
Suggested-by: Radim Krcmar <rkrcmar@redhat.com>
|
|
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
|
|
Reviewed-by: Radim Kr.má<rkrcmar@redhat.com>
|
|
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
(cherry picked from commit d452ab7b4c65dfcaee88a0d6866eeeb98a3d1884)
|
|
---
|
|
drivers/hv/channel_mgmt.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
|
|
index f70e35278b94..c892db5df665 100644
|
|
--- a/drivers/hv/channel_mgmt.c
|
|
+++ b/drivers/hv/channel_mgmt.c
|
|
@@ -605,7 +605,7 @@ static void vmbus_wait_for_unload(void)
|
|
bool unloaded = false;
|
|
|
|
while (1) {
|
|
- if (msg->header.message_type == HVMSG_NONE) {
|
|
+ if (READ_ONCE(msg->header.message_type) == HVMSG_NONE) {
|
|
mdelay(10);
|
|
continue;
|
|
}
|
|
--
|
|
2.11.1
|
|
|