diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c
index c5bb87244dd72876d1ecf4be98196ef597dfc36d..f1f17c5ad8d86f38cf786cce828520379f54a0d0 100644
--- a/drivers/hv/hv_balloon.c
+++ b/drivers/hv/hv_balloon.c
@@ -652,6 +652,7 @@ static void hv_mem_hot_add(unsigned long start, unsigned long size,
 			}
 			has->ha_end_pfn -= HA_CHUNK;
 			has->covered_end_pfn -=  processed_pfn;
+			mutex_lock(&dm_device.ha_region_mutex);
 			break;
 		}