diff
--- a/drivers/vmbus/vmbus.c
+++ b/drivers/vmbus/vmbus.c
@@ -64,18 +64,23 @@
 62 	vmbus_connection.monitor_pages[0] = hv_alloc_hyperv_page();
 63 	vmbus_connection.monitor_pages[1] = hv_alloc_hyperv_page();
 64 	if ((vmbus_connection.monitor_pages[0] == NULL) ||
-65 	    (vmbus_connection.monitor_pages[1] == NULL)) {
+	    (vmbus_connection.monitor_pages[1] == NULL)) 
+        {
 66 		ret = -ENOMEM;
 67 		goto cleanup;
 68 	}
 69 
-70 	ret = set_memory_decrypted((unsigned long)
+    ret = set_memory_decrypted((unsigned long)
 71 				vmbus_connection.monitor_pages[0], 1);
-72 	ret |= set_memory_decrypted((unsigned long)
+    if (ret) {
+        goto cleanup;
+    }
+	ret = set_memory_decrypted((unsigned long)
 73 				vmbus_connection.monitor_pages[1], 1);
-74 	if (ret)
+    if (ret) {
+        goto cleanup;
+    }
 75 		goto cleanup;
-76 
 77 	/*
 78 	 * Set_memory_decrypted() will change the memory contents if
 79 	 * decryption occurs, so zero monitor pages here.

