]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/net/ethernet/sun/cassini.c
Merge remote-tracking branch 'net/master'
[karo-tx-linux.git] / drivers / net / ethernet / sun / cassini.c
similarity index 99%
rename from drivers/net/cassini.c
rename to drivers/net/ethernet/sun/cassini.c
index fdb7a175640981186b5e891dc7f7d34fedddb223..12068219059a5270a7aab6ed2a8fb8872139fa03 100644 (file)
@@ -2048,8 +2048,8 @@ static int cas_rx_process_pkt(struct cas *cp, struct cas_rx_comp *rxc,
                skb->truesize += hlen - swivel;
                skb->len      += hlen - swivel;
 
-               get_page(page->buffer);
-               frag->page = page->buffer;
+               __skb_frag_set_page(frag, page->buffer);
+               __skb_frag_ref(frag);
                frag->page_offset = off;
                frag->size = hlen - swivel;
 
@@ -2072,8 +2072,8 @@ static int cas_rx_process_pkt(struct cas *cp, struct cas_rx_comp *rxc,
                        skb->len      += hlen;
                        frag++;
 
-                       get_page(page->buffer);
-                       frag->page = page->buffer;
+                       __skb_frag_set_page(frag, page->buffer);
+                       __skb_frag_ref(frag);
                        frag->page_offset = 0;
                        frag->size = hlen;
                        RX_USED_ADD(page, hlen + cp->crc_size);
@@ -2829,9 +2829,8 @@ static inline int cas_xmit_tx_ringN(struct cas *cp, int ring,
                skb_frag_t *fragp = &skb_shinfo(skb)->frags[frag];
 
                len = fragp->size;
-               mapping = pci_map_page(cp->pdev, fragp->page,
-                                      fragp->page_offset, len,
-                                      PCI_DMA_TODEVICE);
+               mapping = skb_frag_dma_map(&cp->pdev->dev, fragp, 0, len,
+                                          PCI_DMA_TODEVICE);
 
                tabort = cas_calc_tabort(cp, fragp->page_offset, len);
                if (unlikely(tabort)) {
@@ -2842,7 +2841,7 @@ static inline int cas_xmit_tx_ringN(struct cas *cp, int ring,
                                      ctrl, 0);
                        entry = TX_DESC_NEXT(ring, entry);
 
-                       addr = cas_page_map(fragp->page);
+                       addr = cas_page_map(skb_frag_page(fragp));
                        memcpy(tx_tiny_buf(cp, ring, entry),
                               addr + fragp->page_offset + len - tabort,
                               tabort);
@@ -4909,7 +4908,7 @@ static const struct net_device_ops cas_netdev_ops = {
        .ndo_stop               = cas_close,
        .ndo_start_xmit         = cas_start_xmit,
        .ndo_get_stats          = cas_get_stats,
-       .ndo_set_multicast_list = cas_set_multicast,
+       .ndo_set_rx_mode        = cas_set_multicast,
        .ndo_do_ioctl           = cas_ioctl,
        .ndo_tx_timeout         = cas_tx_timeout,
        .ndo_change_mtu         = cas_change_mtu,