diff options
author | Andrea Parri <parri.andrea@gmail.com> | 2019-10-15 14:46:44 +0300 |
---|---|---|
committer | Sasha Levin <sashal@kernel.org> | 2019-11-22 04:10:43 +0300 |
commit | bedc61a922f9dbbe3bfb26ec2745f8cd63b57637 (patch) | |
tree | a0b1a0f0365f52045fbdf06ea0bd9a4463282507 /drivers/hv/vmbus_drv.c | |
parent | a99d8080aaf358d5d23581244e5da23b35e340b9 (diff) | |
download | linux-bedc61a922f9dbbe3bfb26ec2745f8cd63b57637.tar.xz |
Drivers: hv: vmbus: Introduce table of VMBus protocol versions
The technique used to get the next VMBus version seems increasisly
clumsy as the number of VMBus versions increases. Performance is
not a concern since this is only done once during system boot; it's
just that we'll end up with more lines of code than is really needed.
As an alternative, introduce a table with the version numbers listed
in order (from the most recent to the oldest). vmbus_connect() loops
through the versions listed in the table until it gets an accepted
connection or gets to the end of the table (invalid version).
Suggested-by: Michael Kelley <mikelley@microsoft.com>
Signed-off-by: Andrea Parri <parri.andrea@gmail.com>
Reviewed-by: Wei Liu <wei.liu@kernel.org>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/hv/vmbus_drv.c')
-rw-r--r-- | drivers/hv/vmbus_drv.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c index 53a60c81e220..0ac874faf720 100644 --- a/drivers/hv/vmbus_drv.c +++ b/drivers/hv/vmbus_drv.c @@ -2220,8 +2220,7 @@ static int vmbus_bus_resume(struct device *dev) * We only use the 'vmbus_proto_version', which was in use before * hibernation, to re-negotiate with the host. */ - if (vmbus_proto_version == VERSION_INVAL || - vmbus_proto_version == 0) { + if (!vmbus_proto_version) { pr_err("Invalid proto version = 0x%x\n", vmbus_proto_version); return -EINVAL; } |