info.devname = name;
info.type = netdev_class->type;
error = (c->parse_config)(&info, args);
- *configp = info.config;
+ *configp = error ? NULL : info.config;
return error;
} else {
if (!shash_is_empty(args)) {
static int
netdev_vport_create(const struct netdev_class *class, const char *name,
- const struct shash *args OVS_UNUSED,
- struct netdev_dev **netdev_devp)
+ const struct shash *args, struct netdev_dev **netdev_devp)
{
int err;
struct odp_vport_add ova;
if (!shash_node) {
list = xmalloc(sizeof *list);
list_init(list);
- shash_node = shash_add(&netdev_vport_notifiers,
- netdev_get_name(netdev), list);
+ shash_node = shash_add(&netdev_vport_notifiers, poll_name, list);
} else {
list = shash_node->data;
}