|
@@ -2947,6 +2947,7 @@ static void virtio_net_device_realize(DeviceState *dev, Error **errp)
|
|
n->net_conf.duplex = DUPLEX_FULL;
|
|
n->net_conf.duplex = DUPLEX_FULL;
|
|
} else {
|
|
} else {
|
|
error_setg(errp, "'duplex' must be 'half' or 'full'");
|
|
error_setg(errp, "'duplex' must be 'half' or 'full'");
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
n->host_features |= (1ULL << VIRTIO_NET_F_SPEED_DUPLEX);
|
|
n->host_features |= (1ULL << VIRTIO_NET_F_SPEED_DUPLEX);
|
|
} else {
|
|
} else {
|
|
@@ -2955,7 +2956,9 @@ static void virtio_net_device_realize(DeviceState *dev, Error **errp)
|
|
|
|
|
|
if (n->net_conf.speed < SPEED_UNKNOWN) {
|
|
if (n->net_conf.speed < SPEED_UNKNOWN) {
|
|
error_setg(errp, "'speed' must be between 0 and INT_MAX");
|
|
error_setg(errp, "'speed' must be between 0 and INT_MAX");
|
|
- } else if (n->net_conf.speed >= 0) {
|
|
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if (n->net_conf.speed >= 0) {
|
|
n->host_features |= (1ULL << VIRTIO_NET_F_SPEED_DUPLEX);
|
|
n->host_features |= (1ULL << VIRTIO_NET_F_SPEED_DUPLEX);
|
|
}
|
|
}
|
|
|
|
|