diff options
Diffstat (limited to 'drivers/net/xen-netfront.c')
-rw-r--r-- | drivers/net/xen-netfront.c | 9 |
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); |