Exemplo n.º 1
0
static void __exit pdp_cleanup(void)
{
	int slot;
	struct pdp_info *dev;

	down(&pdp_lock);
	for (slot = 0; slot < MAX_PDP_CONTEXT; slot++) {
		dev = pdp_remove_slot(slot);
		if (dev) {
			if (dev->type == DEV_TYPE_NET) {
				DPRINTK(1, "%s(id: %u) network device removed\n", 
					dev->vn_dev.net->name, dev->id);
				vnet_del_dev(dev->vn_dev.net);
			} else if (dev->type == DEV_TYPE_SERIAL) {
				struct tty_driver * tty_driver = get_tty_driver_by_id(dev);

					DPRINTK(1, "%s(id: %u) serial device removed\n",
						tty_driver->name, dev->id);

				vs_del_dev(dev);
			}

			vfree(dev);
		}
	}
	up(&pdp_lock);
}
Exemplo n.º 2
0
static void __exit pdp_cleanup(void)
{
	int slot;
	struct pdp_info *dev;

	down(&pdp_lock);
	for (slot = 0; slot < MAX_PDP_CONTEXT; slot++) {
		dev = pdp_remove_slot(slot);
		if (dev) {
			if (dev->type == DEV_TYPE_NET)
				vnet_del_dev(dev->vn_dev.net);
			else if (dev->type == DEV_TYPE_SERIAL)
				vs_del_dev(dev);
			else
				pr_err("[MULTIPDP] Invalid device type\n");

			vfree(dev);
		}
	}
	up(&pdp_lock);
}