Esempio n. 1
0
void timerhook_free(struct timer_hook *hook)
{
	if (!hook)
		return;

	if (!atomic_dec_return(&timer_hook_installed)) {
		unregister_tracepoint_wrapper(timer_expire_entry,
					      hook_timer_entry, hook);
		unregister_tracepoint_wrapper(timer_expire_exit,
					      hook_timer_exit, hook);
	}

	kfree(hook);
}
Esempio n. 2
0
void netpoll_wrapper_free(struct netpoll_wrapper *pWrapper)
{
	if (pWrapper)
	{
		if (pWrapper->tracepoint_registered)
			unregister_tracepoint_wrapper(netif_receive_skb, hook_receive_skb, pWrapper);
		if (pWrapper->netpoll_initialized)
			netpoll_cleanup(&pWrapper->netpoll_obj);
		if (pWrapper->pDeviceWithHandler)
		{
			rtnl_lock();
			netdev_rx_handler_unregister(pWrapper->pDeviceWithHandler);
			rtnl_unlock();
		}
		kfree(pWrapper);
	}
}