Changeset 20001


Ignore:
Timestamp:
2010-03-05T21:29:10+01:00 (6 years ago)
Author:
juhosg
Message:

ar71xx: ag71xx: use dma_unmap_single to unmap frames

Location:
trunk/target/linux/ar71xx/files/drivers/net/ag71xx
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h

    r19951 r20001  
    3939 
    4040#define AG71XX_DRV_NAME         "ag71xx" 
    41 #define AG71XX_DRV_VERSION      "0.5.29" 
     41#define AG71XX_DRV_VERSION      "0.5.30" 
    4242 
    4343#define AG71XX_NAPI_WEIGHT      64 
     
    8989 
    9090struct ag71xx_buf { 
    91         struct sk_buff  *skb; 
    92         struct ag71xx_desc *desc; 
     91        struct sk_buff          *skb; 
     92        struct ag71xx_desc      *desc; 
     93        dma_addr_t              dma_addr; 
     94        u32                     pad; 
    9395}; 
    9496 
  • trunk/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_main.c

    r19951 r20001  
    186186 
    187187        for (i = 0; i < AG71XX_RX_RING_SIZE; i++) 
    188                 if (ring->buf[i].skb) 
     188                if (ring->buf[i].skb) { 
     189                        dma_unmap_single(&ag->dev->dev, ring->buf[i].dma_addr, 
     190                                         AG71XX_RX_PKT_SIZE, DMA_FROM_DEVICE); 
    189191                        kfree_skb(ring->buf[i].skb); 
    190  
     192                } 
    191193} 
    192194 
     
    224226                                          DMA_FROM_DEVICE); 
    225227                ring->buf[i].skb = skb; 
     228                ring->buf[i].dma_addr = dma_addr; 
    226229                ring->buf[i].desc->data = (u32) dma_addr; 
    227230                ring->buf[i].desc->ctrl = DESC_EMPTY; 
     
    265268 
    266269                        ring->buf[i].skb = skb; 
     270                        ring->buf[i].dma_addr = dma_addr; 
    267271                        ring->buf[i].desc->data = (u32) dma_addr; 
    268272                } 
     
    684688                pktlen = ag71xx_desc_pktlen(desc); 
    685689                pktlen -= ETH_FCS_LEN; 
     690 
     691                dma_unmap_single(&dev->dev, ring->buf[i].dma_addr, 
     692                                 AG71XX_RX_PKT_SIZE, DMA_FROM_DEVICE); 
    686693 
    687694                skb_put(skb, pktlen); 
Note: See TracChangeset for help on using the changeset viewer.