From: Dexuan Cui <decui@xxxxxxxxxxxxx> Sent: Monday, September 2, 2019 5:23 PM > > When the host re-offers the primary channels upon resume, the host only > guarantees the Instance GUID doesn't change, so vmbus_bus_suspend() > should invalidate channel->offermsg.child_relid and figure out the > number of primary channels that need to be fixed up upon resume. > > Upon resume, vmbus_onoffer() finds the old channel structs, and maps > the new offers to the old channels, and fixes up the old structs, > and finally the resume callbacks of the VSC drivers will re-open > the channels. > > Signed-off-by: Dexuan Cui <decui@xxxxxxxxxxxxx> > --- > drivers/hv/channel_mgmt.c | 85 ++++++++++++++++++++++++++++++++++++----------- > drivers/hv/connection.c | 2 ++ > drivers/hv/hyperv_vmbus.h | 14 ++++++++ > drivers/hv/vmbus_drv.c | 17 ++++++++++ > include/linux/hyperv.h | 3 ++ > 5 files changed, 101 insertions(+), 20 deletions(-) > Reviewed-by: Michael Kelley <mikelley@xxxxxxxxxxxxx>