rte_virtio: cleaned up virtio_user_dev_init

Removes duplicated code.

Change-Id: I3a86add4fd635441ad56f4d21d75bd8bb338d5f9
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/376623
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
This commit is contained in:
Dariusz Stojaczyk 2017-08-31 17:10:05 +02:00 committed by Daniel Verkamp
parent bb2523456c
commit 004913cf04

View File

@ -253,43 +253,38 @@ virtio_user_dev_init(char *path, int queues, int queue_size)
if (virtio_user_dev_setup(dev) < 0) { if (virtio_user_dev_setup(dev) < 0) {
PMD_INIT_LOG(ERR, "backend set up fails"); PMD_INIT_LOG(ERR, "backend set up fails");
free(hw); goto err;
free(dev);
return NULL;
} }
if (dev->ops->send_request(dev, VHOST_USER_GET_QUEUE_NUM, &max_queues) < 0) { if (dev->ops->send_request(dev, VHOST_USER_GET_QUEUE_NUM, &max_queues) < 0) {
PMD_INIT_LOG(ERR, "get_queue_num fails: %s", strerror(errno)); PMD_INIT_LOG(ERR, "get_queue_num fails: %s", strerror(errno));
free(hw); goto err;
free(dev);
return NULL;
} }
if (dev->max_queues > max_queues) { if (dev->max_queues > max_queues) {
PMD_INIT_LOG(ERR, "%d queues requested but only %lu supported", dev->max_queues, max_queues); PMD_INIT_LOG(ERR, "%d queues requested but only %lu supported", dev->max_queues, max_queues);
free(hw); goto err;
free(dev);
return NULL;
} }
if (dev->ops->send_request(dev, VHOST_USER_SET_OWNER, NULL) < 0) { if (dev->ops->send_request(dev, VHOST_USER_SET_OWNER, NULL) < 0) {
PMD_INIT_LOG(ERR, "set_owner fails: %s", strerror(errno)); PMD_INIT_LOG(ERR, "set_owner fails: %s", strerror(errno));
free(hw); goto err;
free(dev);
return NULL;
} }
if (dev->ops->send_request(dev, VHOST_USER_GET_FEATURES, if (dev->ops->send_request(dev, VHOST_USER_GET_FEATURES,
&dev->device_features) < 0) { &dev->device_features) < 0) {
PMD_INIT_LOG(ERR, "get_features failed: %s", strerror(errno)); PMD_INIT_LOG(ERR, "get_features failed: %s", strerror(errno));
free(hw); goto err;
free(dev);
return NULL;
} }
dev->device_features &= VIRTIO_USER_SUPPORTED_FEATURES; dev->device_features &= VIRTIO_USER_SUPPORTED_FEATURES;
return hw; return hw;
err:
free(hw);
free(dev);
return NULL;
} }
void void