rem: return iface->module->uninit(iface);
add: enable_interface(iface, false); iface->module->uninit(iface); put_module(iface->module->info.name); free(iface); return B_OK;
context: status_t unregister_interface(ifnet_t *iface){	status_t status;	if (!iface)		return B_ERROR;			status = acquire_sem(g_interfaces.lock);	if (status != B_OK)		return status;	if (g_interfaces.first == iface)		g_interfaces.first = iface->if_next;	else {		ifnet_t * p = g_interfaces.first;		while (p && p->if_next != iface)			p = p->if_next;					if (!p)			printf("datalink: unregister_interface(): %p iface not found in list!\n", iface);		else			p->if_next = iface->if_next;	};		release_sem(g_interfaces.lock);	printf("datalink: unregister_interface(%s)\n", iface->if_name);	return iface->module->uninit(iface);}