Displaying 2 results from an estimated 2 matches for "netif_exit_accel".
2007 Oct 30
0
[Patch 6/8] Netfront accelerator bug fixes
...larflare.com>
diff -r fdfd708d2ec4 drivers/xen/netfront/accel.c
--- a/drivers/xen/netfront/accel.c	Wed Oct 24 15:38:35 2007 +0100
+++ b/drivers/xen/netfront/accel.c	Wed Oct 24 16:25:57 2007 +0100
@@ -75,6 +75,24 @@ void netif_init_accel(void)
 	spin_lock_init(&accelerators_lock);
 }
 
+void netif_exit_accel(void)
+{
+	struct netfront_accelerator *accelerator, *tmp;
+	unsigned flags;
+
+	spin_lock_irqsave(&accelerators_lock, flags);
+
+	list_for_each_entry_safe(accelerator, tmp, &accelerators_list, link) {
+		BUG_ON(!list_empty(&accelerator->vif_states));
+
+		list_del(&accelerator-&...
2008 Feb 26
0
[PATCH] Fix request_module/modprobe deadlock in netfront accelerator
...prevent concurrent loads and suspends, etc. */
 DEFINE_MUTEX(accelerator_mutex);
 
@@ -67,12 +70,17 @@ void netif_init_accel(void)
 {
 	INIT_LIST_HEAD(&accelerators_list);
 	spin_lock_init(&accelerators_lock);
+
+	accel_watch_workqueue = create_workqueue("accel_watch");
 }
 
 void netif_exit_accel(void)
 {
 	struct netfront_accelerator *accelerator, *tmp;
 	unsigned long flags;
+
+	flush_workqueue(accel_watch_workqueue);
+	destroy_workqueue(accel_watch_workqueue);
 
 	spin_lock_irqsave(&accelerators_lock, flags);
 
@@ -156,7 +164,7 @@ static void accel_watch_changed(struct x
 	struct net...