aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/xen-netback/interface.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/xen-netback/interface.c')
-rw-r--r--drivers/net/xen-netback/interface.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/net/xen-netback/interface.c b/drivers/net/xen-netback/interface.c
index 037f74f0fcf6..3aa8648080c8 100644
--- a/drivers/net/xen-netback/interface.c
+++ b/drivers/net/xen-netback/interface.c
@@ -80,7 +80,7 @@ static irqreturn_t xenvif_tx_interrupt(int irq, void *dev_id)
80 return IRQ_HANDLED; 80 return IRQ_HANDLED;
81} 81}
82 82
83int xenvif_poll(struct napi_struct *napi, int budget) 83static int xenvif_poll(struct napi_struct *napi, int budget)
84{ 84{
85 struct xenvif_queue *queue = 85 struct xenvif_queue *queue =
86 container_of(napi, struct xenvif_queue, napi); 86 container_of(napi, struct xenvif_queue, napi);
@@ -340,12 +340,11 @@ static void xenvif_get_ethtool_stats(struct net_device *dev,
340 unsigned int num_queues = vif->num_queues; 340 unsigned int num_queues = vif->num_queues;
341 int i; 341 int i;
342 unsigned int queue_index; 342 unsigned int queue_index;
343 struct xenvif_stats *vif_stats;
344 343
345 for (i = 0; i < ARRAY_SIZE(xenvif_stats); i++) { 344 for (i = 0; i < ARRAY_SIZE(xenvif_stats); i++) {
346 unsigned long accum = 0; 345 unsigned long accum = 0;
347 for (queue_index = 0; queue_index < num_queues; ++queue_index) { 346 for (queue_index = 0; queue_index < num_queues; ++queue_index) {
348 vif_stats = &vif->queues[queue_index].stats; 347 void *vif_stats = &vif->queues[queue_index].stats;
349 accum += *(unsigned long *)(vif_stats + xenvif_stats[i].offset); 348 accum += *(unsigned long *)(vif_stats + xenvif_stats[i].offset);
350 } 349 }
351 data[i] = accum; 350 data[i] = accum;
@@ -483,9 +482,8 @@ int xenvif_init_queue(struct xenvif_queue *queue)
483 * better enable it. The long term solution would be to use just a 482 * better enable it. The long term solution would be to use just a
484 * bunch of valid page descriptors, without dependency on ballooning 483 * bunch of valid page descriptors, without dependency on ballooning
485 */ 484 */
486 err = alloc_xenballooned_pages(MAX_PENDING_REQS, 485 err = gnttab_alloc_pages(MAX_PENDING_REQS,
487 queue->mmap_pages, 486 queue->mmap_pages);
488 false);
489 if (err) { 487 if (err) {
490 netdev_err(queue->vif->dev, "Could not reserve mmap_pages\n"); 488 netdev_err(queue->vif->dev, "Could not reserve mmap_pages\n");
491 return -ENOMEM; 489 return -ENOMEM;
@@ -664,7 +662,7 @@ void xenvif_disconnect(struct xenvif *vif)
664 */ 662 */
665void xenvif_deinit_queue(struct xenvif_queue *queue) 663void xenvif_deinit_queue(struct xenvif_queue *queue)
666{ 664{
667 free_xenballooned_pages(MAX_PENDING_REQS, queue->mmap_pages); 665 gnttab_free_pages(MAX_PENDING_REQS, queue->mmap_pages);
668} 666}
669 667
670void xenvif_free(struct xenvif *vif) 668void xenvif_free(struct xenvif *vif)