mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
Drivers: hv: vmbus: Resume after fixing up old primary channels
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@microsoft.com> Reviewed-by: Michael Kelley <mikelley@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
b307b38962
commit
d8bd2d442b
5 changed files with 103 additions and 22 deletions
|
@ -426,6 +426,9 @@ enum vmbus_channel_message_type {
|
|||
CHANNELMSG_COUNT
|
||||
};
|
||||
|
||||
/* Hyper-V supports about 2048 channels, and the RELIDs start with 1. */
|
||||
#define INVALID_RELID U32_MAX
|
||||
|
||||
struct vmbus_channel_message_header {
|
||||
enum vmbus_channel_message_type msgtype;
|
||||
u32 padding;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue