Xen 
 
Home About Xen.org Xen Xen Summit Wiki Mailing List Bug Tracker Xen Downloads
 
   
 

xen-devel

[Xen-devel] [Patch 4/8] Netfront accelerator bug fixes

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [Patch 4/8] Netfront accelerator bug fixes
From: Kieran Mansley <kmansley@xxxxxxxxxxxxxx>
Date: Tue, 30 Oct 2007 17:07:52 +0000
Delivery-date: Tue, 30 Oct 2007 10:11:38 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Ensure hooks set if accelerator loads before first network interface

Signed-off-by <kmansley@xxxxxxxxxxxxxx>

diff -r 7f386cf89345 drivers/xen/netfront/accel.c
--- a/drivers/xen/netfront/accel.c      Fri Oct 26 13:56:56 2007 +0100
+++ b/drivers/xen/netfront/accel.c      Fri Oct 26 13:58:14 2007 +0100
@@ -131,7 +131,8 @@ static void add_accelerator_vif(struct n
  * Initialise the state to track an accelerator plugin module.
  */ 
 static int init_accelerator(const char *frontend, 
-                           struct netfront_accelerator **result)
+                           struct netfront_accelerator **result,
+                           struct netfront_accel_hooks *hooks)
 {
        struct netfront_accelerator *accelerator = 
                kmalloc(sizeof(struct netfront_accelerator), GFP_KERNEL);
@@ -154,7 +155,7 @@ static int init_accelerator(const char *
        INIT_LIST_HEAD(&accelerator->vif_states);
        spin_lock_init(&accelerator->vif_states_lock);
 
-       accelerator->hooks = NULL;
+       accelerator->hooks = hooks;
 
        accelerator->ready_for_probe = 1;
        accelerator->need_probe = NULL;
@@ -278,7 +279,7 @@ int netfront_load_accelerator(struct net
        }
 
        /* Couldn't find it, so create a new one and load the module */
-       if ((rc = init_accelerator(frontend, &accelerator)) < 0) {
+       if ((rc = init_accelerator(frontend, &accelerator, NULL)) < 0) {
                spin_unlock_irqrestore(&accelerators_lock, flags);
                return rc;
        }
@@ -450,7 +451,7 @@ int netfront_accelerator_loaded(int vers
        DPRINTK("Couldn't find matching accelerator (%s)\n",
                frontend);
 
-       init_accelerator(frontend, &accelerator);
+       init_accelerator(frontend, &accelerator, hooks);
 
        spin_unlock_irqrestore(&accelerators_lock, flags);
 

Attachment: accel_initialise_hooks
Description: Text document

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [Patch 4/8] Netfront accelerator bug fixes, Kieran Mansley <=