diff options
-rw-r--r-- | drivers/hv/hv_balloon.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c index 61b7351df1d4..deb5c25305af 100644 --- a/drivers/hv/hv_balloon.c +++ b/drivers/hv/hv_balloon.c | |||
@@ -975,6 +975,14 @@ static void post_status(struct hv_dynmem_device *dm) | |||
975 | dm->num_pages_ballooned + | 975 | dm->num_pages_ballooned + |
976 | compute_balloon_floor(); | 976 | compute_balloon_floor(); |
977 | 977 | ||
978 | /* | ||
979 | * If our transaction ID is no longer current, just don't | ||
980 | * send the status. This can happen if we were interrupted | ||
981 | * after we picked our transaction ID. | ||
982 | */ | ||
983 | if (status.hdr.trans_id != atomic_read(&trans_id)) | ||
984 | return; | ||
985 | |||
978 | vmbus_sendpacket(dm->dev->channel, &status, | 986 | vmbus_sendpacket(dm->dev->channel, &status, |
979 | sizeof(struct dm_status), | 987 | sizeof(struct dm_status), |
980 | (unsigned long)NULL, | 988 | (unsigned long)NULL, |