diff options
Diffstat (limited to 'drivers/net/acenic.c')
| -rw-r--r-- | drivers/net/acenic.c | 43 | 
1 files changed, 20 insertions, 23 deletions
diff --git a/drivers/net/acenic.c b/drivers/net/acenic.c index 4ae750ef1e1..1328eb9b841 100644 --- a/drivers/net/acenic.c +++ b/drivers/net/acenic.c @@ -67,6 +67,7 @@  #include <linux/highmem.h>  #include <linux/sockios.h>  #include <linux/firmware.h> +#include <linux/slab.h>  #if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE)  #include <linux/if_vlan.h> @@ -660,7 +661,7 @@ static void __devexit acenic_remove_one(struct pci_dev *pdev)  			dma_addr_t mapping;  			ringp = &ap->skb->rx_std_skbuff[i]; -			mapping = pci_unmap_addr(ringp, mapping); +			mapping = dma_unmap_addr(ringp, mapping);  			pci_unmap_page(ap->pdev, mapping,  				       ACE_STD_BUFSIZE,  				       PCI_DMA_FROMDEVICE); @@ -680,7 +681,7 @@ static void __devexit acenic_remove_one(struct pci_dev *pdev)  				dma_addr_t mapping;  				ringp = &ap->skb->rx_mini_skbuff[i]; -				mapping = pci_unmap_addr(ringp,mapping); +				mapping = dma_unmap_addr(ringp,mapping);  				pci_unmap_page(ap->pdev, mapping,  					       ACE_MINI_BUFSIZE,  					       PCI_DMA_FROMDEVICE); @@ -699,7 +700,7 @@ static void __devexit acenic_remove_one(struct pci_dev *pdev)  			dma_addr_t mapping;  			ringp = &ap->skb->rx_jumbo_skbuff[i]; -			mapping = pci_unmap_addr(ringp, mapping); +			mapping = dma_unmap_addr(ringp, mapping);  			pci_unmap_page(ap->pdev, mapping,  				       ACE_JUMBO_BUFSIZE,  				       PCI_DMA_FROMDEVICE); @@ -1682,7 +1683,7 @@ static void ace_load_std_rx_ring(struct ace_private *ap, int nr_bufs)  				       ACE_STD_BUFSIZE,  				       PCI_DMA_FROMDEVICE);  		ap->skb->rx_std_skbuff[idx].skb = skb; -		pci_unmap_addr_set(&ap->skb->rx_std_skbuff[idx], +		dma_unmap_addr_set(&ap->skb->rx_std_skbuff[idx],  				   mapping, mapping);  		rd = &ap->rx_std_ring[idx]; @@ -1743,7 +1744,7 @@ static void ace_load_mini_rx_ring(struct ace_private *ap, int nr_bufs)  				       ACE_MINI_BUFSIZE,  				       PCI_DMA_FROMDEVICE);  		ap->skb->rx_mini_skbuff[idx].skb = skb; -		pci_unmap_addr_set(&ap->skb->rx_mini_skbuff[idx], +		dma_unmap_addr_set(&ap->skb->rx_mini_skbuff[idx],  				   mapping, mapping);  		rd = &ap->rx_mini_ring[idx]; @@ -1799,7 +1800,7 @@ static void ace_load_jumbo_rx_ring(struct ace_private *ap, int nr_bufs)  				       ACE_JUMBO_BUFSIZE,  				       PCI_DMA_FROMDEVICE);  		ap->skb->rx_jumbo_skbuff[idx].skb = skb; -		pci_unmap_addr_set(&ap->skb->rx_jumbo_skbuff[idx], +		dma_unmap_addr_set(&ap->skb->rx_jumbo_skbuff[idx],  				   mapping, mapping);  		rd = &ap->rx_jumbo_ring[idx]; @@ -2012,7 +2013,7 @@ static void ace_rx_int(struct net_device *dev, u32 rxretprd, u32 rxretcsm)  		skb = rip->skb;  		rip->skb = NULL;  		pci_unmap_page(ap->pdev, -			       pci_unmap_addr(rip, mapping), +			       dma_unmap_addr(rip, mapping),  			       mapsize,  			       PCI_DMA_FROMDEVICE);  		skb_put(skb, retdesc->size); @@ -2077,18 +2078,16 @@ static inline void ace_tx_int(struct net_device *dev,  	do {  		struct sk_buff *skb; -		dma_addr_t mapping;  		struct tx_ring_info *info;  		info = ap->skb->tx_skbuff + idx;  		skb = info->skb; -		mapping = pci_unmap_addr(info, mapping); -		if (mapping) { -			pci_unmap_page(ap->pdev, mapping, -				       pci_unmap_len(info, maplen), +		if (dma_unmap_len(info, maplen)) { +			pci_unmap_page(ap->pdev, dma_unmap_addr(info, mapping), +				       dma_unmap_len(info, maplen),  				       PCI_DMA_TODEVICE); -			pci_unmap_addr_set(info, mapping, 0); +			dma_unmap_len_set(info, maplen, 0);  		}  		if (skb) { @@ -2376,14 +2375,12 @@ static int ace_close(struct net_device *dev)  	for (i = 0; i < ACE_TX_RING_ENTRIES(ap); i++) {  		struct sk_buff *skb; -		dma_addr_t mapping;  		struct tx_ring_info *info;  		info = ap->skb->tx_skbuff + i;  		skb = info->skb; -		mapping = pci_unmap_addr(info, mapping); -		if (mapping) { +		if (dma_unmap_len(info, maplen)) {  			if (ACE_IS_TIGON_I(ap)) {  				/* NB: TIGON_1 is special, tx_ring is in io space */  				struct tx_desc __iomem *tx; @@ -2394,10 +2391,10 @@ static int ace_close(struct net_device *dev)  			} else  				memset(ap->tx_ring + i, 0,  				       sizeof(struct tx_desc)); -			pci_unmap_page(ap->pdev, mapping, -				       pci_unmap_len(info, maplen), +			pci_unmap_page(ap->pdev, dma_unmap_addr(info, mapping), +				       dma_unmap_len(info, maplen),  				       PCI_DMA_TODEVICE); -			pci_unmap_addr_set(info, mapping, 0); +			dma_unmap_len_set(info, maplen, 0);  		}  		if (skb) {  			dev_kfree_skb(skb); @@ -2432,8 +2429,8 @@ ace_map_tx_skb(struct ace_private *ap, struct sk_buff *skb,  	info = ap->skb->tx_skbuff + idx;  	info->skb = tail; -	pci_unmap_addr_set(info, mapping, mapping); -	pci_unmap_len_set(info, maplen, skb->len); +	dma_unmap_addr_set(info, mapping, mapping); +	dma_unmap_len_set(info, maplen, skb->len);  	return mapping;  } @@ -2552,8 +2549,8 @@ restart:  			} else {  				info->skb = NULL;  			} -			pci_unmap_addr_set(info, mapping, mapping); -			pci_unmap_len_set(info, maplen, frag->size); +			dma_unmap_addr_set(info, mapping, mapping); +			dma_unmap_len_set(info, maplen, frag->size);  			ace_load_tx_bd(ap, desc, mapping, flagsize, vlan_tag);  		}  	}  |