summaryrefslogtreecommitdiffstats
path: root/hw/net/vmxnet3.c
diff options
context:
space:
mode:
authorMiao Yan2015-12-23 07:06:07 +0100
committerJason Wang2016-01-11 04:01:34 +0100
commitfde58177aa112da377bbe1af71e0ec3ee7750196 (patch)
treeb57248f728b06e86b121d1ab6a3126b7f3db9844 /hw/net/vmxnet3.c
parentMAINTAINERS: Add an entry for the net/slirp.c file (diff)
downloadqemu-fde58177aa112da377bbe1af71e0ec3ee7750196.tar.gz
qemu-fde58177aa112da377bbe1af71e0ec3ee7750196.tar.xz
qemu-fde58177aa112da377bbe1af71e0ec3ee7750196.zip
net/vmxnet3: return 1 on device activation failure
When reading device status, 0 means device is successfully activated and 1 means error. This behavior can be observed by the following steps: 1) run a Linux distro on esxi server (5.5+) 2) modify vmxnet3 Linux driver to give it an invalid address to 'adapter->shared_pa' which is the shared memory for guest/host communication This will trigger device activation failure and kernel log will have the following message: [ 7138.403256] vmxnet3 0000:03:00.0 eth1: Failed to activate dev: error 1 So return 1 on device activation failure instead of -1; Signed-off-by: Miao Yan <yanmiaobest@gmail.com> Reviewed-by: Dmitry Fleytman <dmitry@daynix.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'hw/net/vmxnet3.c')
-rw-r--r--hw/net/vmxnet3.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
index 9c1adfc7bd..8a992d3244 100644
--- a/hw/net/vmxnet3.c
+++ b/hw/net/vmxnet3.c
@@ -1662,7 +1662,7 @@ static uint64_t vmxnet3_get_command_status(VMXNET3State *s)
switch (s->last_command) {
case VMXNET3_CMD_ACTIVATE_DEV:
- ret = (s->device_active) ? 0 : -1;
+ ret = (s->device_active) ? 0 : 1;
VMW_CFPRN("Device active: %" PRIx64, ret);
break;