virtio_net: Modify virtio_net_get_config to early return

Next patches introduce more code on vhost-vdpa branch, with already have
too much indentation.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20221221115015.1400889-2-eperezma@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Eugenio Pérez 2022-12-21 12:50:12 +01:00 committed by Michael S. Tsirkin
parent 0ab12aa324
commit ebc141a625

View file

@ -168,22 +168,24 @@ static void virtio_net_get_config(VirtIODevice *vdev, uint8_t *config)
if (nc->peer && nc->peer->info->type == NET_CLIENT_DRIVER_VHOST_VDPA) { if (nc->peer && nc->peer->info->type == NET_CLIENT_DRIVER_VHOST_VDPA) {
ret = vhost_net_get_config(get_vhost_net(nc->peer), (uint8_t *)&netcfg, ret = vhost_net_get_config(get_vhost_net(nc->peer), (uint8_t *)&netcfg,
n->config_size); n->config_size);
if (ret != -1) { if (ret == -1) {
return;
}
/* /*
* Some NIC/kernel combinations present 0 as the mac address. As * Some NIC/kernel combinations present 0 as the mac address. As that
* that is not a legal address, try to proceed with the * is not a legal address, try to proceed with the address from the
* address from the QEMU command line in the hope that the * QEMU command line in the hope that the address has been configured
* address has been configured correctly elsewhere - just not * correctly elsewhere - just not reported by the device.
* reported by the device.
*/ */
if (memcmp(&netcfg.mac, &zero, sizeof(zero)) == 0) { if (memcmp(&netcfg.mac, &zero, sizeof(zero)) == 0) {
info_report("Zero hardware mac address detected. Ignoring."); info_report("Zero hardware mac address detected. Ignoring.");
memcpy(netcfg.mac, n->mac, ETH_ALEN); memcpy(netcfg.mac, n->mac, ETH_ALEN);
} }
memcpy(config, &netcfg, n->config_size); memcpy(config, &netcfg, n->config_size);
} }
} }
}
static void virtio_net_set_config(VirtIODevice *vdev, const uint8_t *config) static void virtio_net_set_config(VirtIODevice *vdev, const uint8_t *config)
{ {