Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[cascardo/linux.git] / drivers / net / xen-netfront.c
index 720aaf6..3f45afd 100644 (file)
@@ -560,7 +560,7 @@ static int xennet_start_xmit(struct sk_buff *skb, struct net_device *dev)
 
        if (unlikely(!netif_carrier_ok(dev) ||
                     (slots > 1 && !xennet_can_sg(dev)) ||
-                    netif_needs_gso(dev, skb, netif_skb_features(skb)))) {
+                    netif_needs_gso(skb, netif_skb_features(skb)))) {
                spin_unlock_irqrestore(&queue->tx_lock, flags);
                goto drop;
        }
@@ -1483,6 +1483,7 @@ static int setup_netfront(struct xenbus_device *dev,
 {
        struct xen_netif_tx_sring *txs;
        struct xen_netif_rx_sring *rxs;
+       grant_ref_t gref;
        int err;
 
        queue->tx_ring_ref = GRANT_INVALID_REF;
@@ -1499,10 +1500,10 @@ static int setup_netfront(struct xenbus_device *dev,
        SHARED_RING_INIT(txs);
        FRONT_RING_INIT(&queue->tx, txs, PAGE_SIZE);
 
-       err = xenbus_grant_ring(dev, virt_to_mfn(txs));
+       err = xenbus_grant_ring(dev, txs, 1, &gref);
        if (err < 0)
                goto grant_tx_ring_fail;
-       queue->tx_ring_ref = err;
+       queue->tx_ring_ref = gref;
 
        rxs = (struct xen_netif_rx_sring *)get_zeroed_page(GFP_NOIO | __GFP_HIGH);
        if (!rxs) {
@@ -1513,10 +1514,10 @@ static int setup_netfront(struct xenbus_device *dev,
        SHARED_RING_INIT(rxs);
        FRONT_RING_INIT(&queue->rx, rxs, PAGE_SIZE);
 
-       err = xenbus_grant_ring(dev, virt_to_mfn(rxs));
+       err = xenbus_grant_ring(dev, rxs, 1, &gref);
        if (err < 0)
                goto grant_rx_ring_fail;
-       queue->rx_ring_ref = err;
+       queue->rx_ring_ref = gref;
 
        if (feature_split_evtchn)
                err = setup_netfront_split(queue);