aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/xen-netfront.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/xen-netfront.c')
-rw-r--r--drivers/net/xen-netfront.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 720aaf6313d2..4c08f98f4484 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -1483,6 +1483,7 @@ static int setup_netfront(struct xenbus_device *dev,
1483{ 1483{
1484 struct xen_netif_tx_sring *txs; 1484 struct xen_netif_tx_sring *txs;
1485 struct xen_netif_rx_sring *rxs; 1485 struct xen_netif_rx_sring *rxs;
1486 grant_ref_t gref;
1486 int err; 1487 int err;
1487 1488
1488 queue->tx_ring_ref = GRANT_INVALID_REF; 1489 queue->tx_ring_ref = GRANT_INVALID_REF;
@@ -1499,10 +1500,10 @@ static int setup_netfront(struct xenbus_device *dev,
1499 SHARED_RING_INIT(txs); 1500 SHARED_RING_INIT(txs);
1500 FRONT_RING_INIT(&queue->tx, txs, PAGE_SIZE); 1501 FRONT_RING_INIT(&queue->tx, txs, PAGE_SIZE);
1501 1502
1502 err = xenbus_grant_ring(dev, virt_to_mfn(txs)); 1503 err = xenbus_grant_ring(dev, txs, 1, &gref);
1503 if (err < 0) 1504 if (err < 0)
1504 goto grant_tx_ring_fail; 1505 goto grant_tx_ring_fail;
1505 queue->tx_ring_ref = err; 1506 queue->tx_ring_ref = gref;
1506 1507
1507 rxs = (struct xen_netif_rx_sring *)get_zeroed_page(GFP_NOIO | __GFP_HIGH); 1508 rxs = (struct xen_netif_rx_sring *)get_zeroed_page(GFP_NOIO | __GFP_HIGH);
1508 if (!rxs) { 1509 if (!rxs) {
@@ -1513,10 +1514,10 @@ static int setup_netfront(struct xenbus_device *dev,
1513 SHARED_RING_INIT(rxs); 1514 SHARED_RING_INIT(rxs);
1514 FRONT_RING_INIT(&queue->rx, rxs, PAGE_SIZE); 1515 FRONT_RING_INIT(&queue->rx, rxs, PAGE_SIZE);
1515 1516
1516 err = xenbus_grant_ring(dev, virt_to_mfn(rxs)); 1517 err = xenbus_grant_ring(dev, rxs, 1, &gref);
1517 if (err < 0) 1518 if (err < 0)
1518 goto grant_rx_ring_fail; 1519 goto grant_rx_ring_fail;
1519 queue->rx_ring_ref = err; 1520 queue->rx_ring_ref = gref;
1520 1521
1521 if (feature_split_evtchn) 1522 if (feature_split_evtchn)
1522 err = setup_netfront_split(queue); 1523 err = setup_netfront_split(queue);