diff options
author | Dexuan Cui <decui@microsoft.com> | 2020-01-25 21:49:44 -0800 |
---|---|---|
committer | Sasha Levin <sashal@kernel.org> | 2020-01-26 22:10:17 -0500 |
commit | 54e19d34011fea26d39aa74781131de0ce642a01 (patch) | |
tree | 3d0913466b3f1cc1f90338f44bc635d73d8809f0 /drivers/video/fbdev/mb862xx/mb862xxfbdrv.c | |
parent | ffd1d4a49336b7f0078f45332fa4b93d25720f6c (diff) | |
download | linux-54e19d34011fea26d39aa74781131de0ce642a01.tar.bz2 |
hv_utils: Add the support of hibernation
Add util_pre_suspend() and util_pre_resume() for some hv_utils devices
(e.g. kvp/vss/fcopy), because they need special handling before
util_suspend() calls vmbus_close().
For kvp, all the possible pending work items should be cancelled.
For vss and fcopy, some extra clean-up needs to be done, i.e. fake a
THAW message for hv_vss_daemon and fake a CANCEL_FCOPY message for
hv_fcopy_daemon, otherwise when the VM resums back, the daemons
can end up in an inconsistent state (i.e. the file systems are
frozen but will never be thawed; the file transmitted via fcopy
may not be complete). Note: there is an extra patch for the daemons:
"Tools: hv: Reopen the devices if read() or write() returns errors",
because the hv_utils driver can not guarantee the whole transaction
finishes completely once util_suspend() starts to run (at this time,
all the userspace processes are frozen).
util_probe() disables channel->callback_event to avoid the race with
the channel callback.
Signed-off-by: Dexuan Cui <decui@microsoft.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/video/fbdev/mb862xx/mb862xxfbdrv.c')
0 files changed, 0 insertions, 0 deletions