Drivers: hv: balloon: Do not post pressure status if interrupted
When we are posting pressure status, we may get interrupted and handle the un-balloon operation. In this case just don't post the status as we know the pressure status is stale. Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Cc: Stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
ed07ec93e8
commit
c5e2254f8d
1 changed files with 8 additions and 0 deletions
|
@ -975,6 +975,14 @@ static void post_status(struct hv_dynmem_device *dm)
|
|||
dm->num_pages_ballooned +
|
||||
compute_balloon_floor();
|
||||
|
||||
/*
|
||||
* If our transaction ID is no longer current, just don't
|
||||
* send the status. This can happen if we were interrupted
|
||||
* after we picked our transaction ID.
|
||||
*/
|
||||
if (status.hdr.trans_id != atomic_read(&trans_id))
|
||||
return;
|
||||
|
||||
vmbus_sendpacket(dm->dev->channel, &status,
|
||||
sizeof(struct dm_status),
|
||||
(unsigned long)NULL,
|
||||
|
|
Loading…
Reference in a new issue