Displaying 3 results from an estimated 3 matches for "vif_state".
2007 Oct 03
0
[PATCH 6/6] Network acceleration improvements
Signed-off-by: Kieran Mansley <kmansley@solarflare.com>
Cleanup vif_state on device removal
diff -r f992a517aba5 drivers/xen/netfront/accel.c
--- a/drivers/xen/netfront/accel.c Wed Oct 03 13:41:33 2007 +0100
+++ b/drivers/xen/netfront/accel.c Wed Oct 03 13:45:55 2007 +0100
@@ -500,6 +500,30 @@ EXPORT_SYMBOL_GPL(netfront_accelerator_r
/*
+ * Remove the hooks from a...
2008 Feb 26
0
[PATCH] Fix request_module/modprobe deadlock in netfront accelerator
...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 netfront_accel_vif_state *vif_state =
container_of(watch, struct netfront_accel_vif_state,
accel_watch);
- schedule_work(&vif_state->accel_work);
+ queue_work(accel_watch_workqueue, &vif_state->accel_work);
}
@@ -191,7 +199,7 @@ void netfront_accelerator_remove_watch(s
kfree(vif_state->...
2007 Oct 30
0
[Patch 6/8] Netfront accelerator bug fixes
...ccelerators_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->link);
+ kfree(accelerator->frontend);
+ kfree(accelerator);
+ }
+
+ spin_unlock_irqrestore(&accelerators_lock, flags);
+}
+
/*
* Initialise the accel_vif_state field in the netfront state
diff -r fdfd708d2ec4 drivers/xen/netfront/netfront.c
---...