diff options
| author | Ingo Molnar <mingo@kernel.org> | 2014-01-16 03:33:30 -0500 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2014-01-16 03:33:30 -0500 |
| commit | 860fc2f2640ec348b9520ca4649b1bfd23d91bc2 (patch) | |
| tree | 73d90d6ef86893c89bb70e78a2b63295d531f371 /drivers/net/xen-netback/interface.c | |
| parent | 197749981e539c1eb5863f417de6dd4e2c02b76c (diff) | |
| parent | bee09ed91cacdbffdbcd3b05de8409c77ec9fcd6 (diff) | |
Merge branch 'perf/urgent' into perf/core
Pick up the latest fixes, refresh the development tree.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/net/xen-netback/interface.c')
| -rw-r--r-- | drivers/net/xen-netback/interface.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/xen-netback/interface.c b/drivers/net/xen-netback/interface.c index 870f1fa58370..fff8cddfed81 100644 --- a/drivers/net/xen-netback/interface.c +++ b/drivers/net/xen-netback/interface.c | |||
| @@ -34,6 +34,7 @@ | |||
| 34 | #include <linux/ethtool.h> | 34 | #include <linux/ethtool.h> |
| 35 | #include <linux/rtnetlink.h> | 35 | #include <linux/rtnetlink.h> |
| 36 | #include <linux/if_vlan.h> | 36 | #include <linux/if_vlan.h> |
| 37 | #include <linux/vmalloc.h> | ||
| 37 | 38 | ||
| 38 | #include <xen/events.h> | 39 | #include <xen/events.h> |
| 39 | #include <asm/xen/hypercall.h> | 40 | #include <asm/xen/hypercall.h> |
| @@ -307,6 +308,15 @@ struct xenvif *xenvif_alloc(struct device *parent, domid_t domid, | |||
| 307 | SET_NETDEV_DEV(dev, parent); | 308 | SET_NETDEV_DEV(dev, parent); |
| 308 | 309 | ||
| 309 | vif = netdev_priv(dev); | 310 | vif = netdev_priv(dev); |
| 311 | |||
| 312 | vif->grant_copy_op = vmalloc(sizeof(struct gnttab_copy) * | ||
| 313 | MAX_GRANT_COPY_OPS); | ||
| 314 | if (vif->grant_copy_op == NULL) { | ||
| 315 | pr_warn("Could not allocate grant copy space for %s\n", name); | ||
| 316 | free_netdev(dev); | ||
| 317 | return ERR_PTR(-ENOMEM); | ||
| 318 | } | ||
| 319 | |||
| 310 | vif->domid = domid; | 320 | vif->domid = domid; |
| 311 | vif->handle = handle; | 321 | vif->handle = handle; |
| 312 | vif->can_sg = 1; | 322 | vif->can_sg = 1; |
| @@ -487,6 +497,7 @@ void xenvif_free(struct xenvif *vif) | |||
| 487 | 497 | ||
| 488 | unregister_netdev(vif->dev); | 498 | unregister_netdev(vif->dev); |
| 489 | 499 | ||
| 500 | vfree(vif->grant_copy_op); | ||
| 490 | free_netdev(vif->dev); | 501 | free_netdev(vif->dev); |
| 491 | 502 | ||
| 492 | module_put(THIS_MODULE); | 503 | module_put(THIS_MODULE); |
