This would have found a bug that I accidentally inserted while working on
netdev-linux.
create_device(struct netdev_options *options, struct netdev_dev **netdev_devp)
{
struct netdev_class *netdev_class;
+ int error;
if (!options->type || strlen(options->type) == 0) {
/* Default to system. */
return EAFNOSUPPORT;
}
- return netdev_class->create(netdev_class, options->name, options->args,
- netdev_devp);
+ error = netdev_class->create(netdev_class, options->name, options->args,
+ netdev_devp);
+ assert(error || (*netdev_devp)->netdev_class == netdev_class);
+ return error;
}
/* Opens the network device named 'name' (e.g. "eth0") and returns zero if