|
720 |
vif = netdev_priv(skb->dev); |
720 |
vif = netdev_priv(skb->dev); |
721 |
nr_frags = skb_shinfo(skb)->nr_frags; |
721 |
nr_frags = skb_shinfo(skb)->nr_frags; |
722 |
|
722 |
|
|
|
723 |
if (!vif->mapped) { |
724 |
printk(KERN_ERR "UniDEBUG vif->mapped is false\n"); |
725 |
dev_kfree_skb(skb); |
726 |
xenvif_put(vif); |
727 |
continue; |
728 |
} |
729 |
|
723 |
sco = (struct skb_cb_overlay *)skb->cb; |
730 |
sco = (struct skb_cb_overlay *)skb->cb; |
724 |
sco->meta_slots_used = netbk_gop_skb(skb, &npo); |
731 |
sco->meta_slots_used = netbk_gop_skb(skb, &npo); |
725 |
|
732 |
|
|
1864 |
|
1870 |
|
1865 |
void xen_netbk_unmap_frontend_rings(struct xenvif *vif) |
1871 |
void xen_netbk_unmap_frontend_rings(struct xenvif *vif) |
1866 |
{ |
1872 |
{ |
|
|
1873 |
vif->mapped = false; |
1874 |
|
1867 |
if (vif->tx.sring) |
1875 |
if (vif->tx.sring) |
1868 |
xenbus_unmap_ring_vfree(xenvif_to_xenbus_device(vif), |
1876 |
xenbus_unmap_ring_vfree(xenvif_to_xenbus_device(vif), |
1869 |
vif->tx.sring); |
1877 |
vif->tx.sring); |
|
1899 |
BACK_RING_INIT(&vif->rx, rxs, PAGE_SIZE); |
1908 |
BACK_RING_INIT(&vif->rx, rxs, PAGE_SIZE); |
1900 |
|
1909 |
|
1901 |
vif->rx_req_cons_peek = 0; |
1910 |
vif->rx_req_cons_peek = 0; |
|
|
1911 |
vif->mapped = true; |
1902 |
|
1912 |
|
1903 |
return 0; |
1913 |
return 0; |
1904 |
|
1914 |
|