/* Network device is taken down. Usually this is done by "ifconfig irda0 down"  */
static int stir_net_close(struct net_device *netdev)
/* Network device is taken down. Usually this is done by "ifconfig irda0 down"  */
static int stir_net_close(struct net_device *netdev)
{
	struct stir_cb *stir = netdev_priv(netdev);
	netif_stop_queue(netdev);
	kthread_stop(stir->thread);
	kfree(stir->fifo_status);
	usb_kill_urb(stir->rx_urb);
	kfree(stir->io_buf);
	usb_free_urb(stir->rx_urb);
	kfree_skb(stir->rx_buff.skb);
	if (stir->irlap)
		irlap_close(stir->irlap);
	stir->irlap = NULL;
	return 0;
}