]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[vmbus] Do not expect version in version_response
authorRoman Kagan <rkagan@virtuozzo.com>
Sat, 9 Jun 2018 14:53:31 +0000 (17:53 +0300)
committerMichael Brown <mcb30@ipxe.org>
Sat, 7 Jul 2018 23:45:47 +0000 (00:45 +0100)
The definition of version_response channel message in Linux doesn't
include version field, so the upcoming VMBus implementation in QEMU
doesn't set it either.  Neither Windows nor Linux had any problem with
this.

The check against this field is redundant because the message is the
response to initiate_contact message containing the specific version
requested, so the response with version_supported=true is unambiguous.

Drop this check and don't rely on the field to be present in the
message.

Signed-off-by: Roman Kagan <rkagan@virtuozzo.com>
Modified-by: Michael Brown <mcb30@ipxe.org>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/interface/hyperv/vmbus.c

index 45a7caec4a9c3c445993d1188271db626d8971c2..e50fe995187e7311e4bd36553ce747c0da373ec4 100644 (file)
@@ -195,16 +195,10 @@ static int vmbus_initiate_contact ( struct hv_hypervisor *hv,
                       vmbus );
                return -ENOTSUP;
        }
-       if ( version->version.raw != cpu_to_le32 ( raw ) ) {
-               DBGC ( vmbus, "VMBUS %p unexpected version %d.%d\n",
-                      vmbus, le16_to_cpu ( version->version.major ),
-                      le16_to_cpu ( version->version.minor ) );
-               return -EPROTO;
-       }
 
        DBGC ( vmbus, "VMBUS %p initiated contact using version %d.%d\n",
-              vmbus, le16_to_cpu ( version->version.major ),
-              le16_to_cpu ( version->version.minor ) );
+              vmbus, le16_to_cpu ( initiate.version.major ),
+              le16_to_cpu ( initiate.version.minor ) );
        return 0;
 }