diff options
author | Chuanhong Guo <gch981213@gmail.com> | 2018-12-13 15:12:01 +0800 |
---|---|---|
committer | Petr Štetiar <ynezz@true.cz> | 2019-03-24 01:44:24 +0100 |
commit | 4eaa3626a82149420d34b535dc673a2b6861da55 (patch) | |
tree | 814782004779f0a3f8955761ff75bf7a5527ceb7 /target/linux/ath79 | |
parent | 8d3af284e0b0735abbb915b01e65c22f4a049feb (diff) | |
download | upstream-4eaa3626a82149420d34b535dc673a2b6861da55.tar.gz upstream-4eaa3626a82149420d34b535dc673a2b6861da55.tar.bz2 upstream-4eaa3626a82149420d34b535dc673a2b6861da55.zip |
ath79: ag71xx: pass correct device pointer to dma functions
linux 4.19 doesn't accept a NULL device for these functions.
It also complains that the device struct in net_device doesn't have
a dma_mask set.
Pass the device struct from platform_device for these functions.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
Diffstat (limited to 'target/linux/ath79')
-rw-r--r-- | target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c b/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c index f03c6b40a6..95848f611c 100644 --- a/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c +++ b/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c @@ -162,7 +162,7 @@ static void ag71xx_ring_rx_clean(struct ag71xx *ag) for (i = 0; i < ring_size; i++) if (ring->buf[i].rx_buf) { - dma_unmap_single(&ag->dev->dev, ring->buf[i].dma_addr, + dma_unmap_single(&ag->pdev->dev, ring->buf[i].dma_addr, ag->rx_buf_size, DMA_FROM_DEVICE); skb_free_frag(ring->buf[i].rx_buf); } @@ -187,7 +187,7 @@ static bool ag71xx_fill_rx_buf(struct ag71xx *ag, struct ag71xx_buf *buf, return false; buf->rx_buf = data; - buf->dma_addr = dma_map_single(&ag->dev->dev, data, ag->rx_buf_size, + buf->dma_addr = dma_map_single(&ag->pdev->dev, data, ag->rx_buf_size, DMA_FROM_DEVICE); desc->data = (u32) buf->dma_addr + offset; return true; @@ -276,7 +276,7 @@ static int ag71xx_rings_init(struct ag71xx *ag) if (!tx->buf) return -ENOMEM; - tx->descs_cpu = dma_alloc_coherent(NULL, ring_size * AG71XX_DESC_SIZE, + tx->descs_cpu = dma_alloc_coherent(&ag->pdev->dev, ring_size * AG71XX_DESC_SIZE, &tx->descs_dma, GFP_ATOMIC); if (!tx->descs_cpu) { kfree(tx->buf); @@ -299,7 +299,7 @@ static void ag71xx_rings_free(struct ag71xx *ag) int ring_size = BIT(tx->order) + BIT(rx->order); if (tx->descs_cpu) - dma_free_coherent(NULL, ring_size * AG71XX_DESC_SIZE, + dma_free_coherent(&ag->pdev->dev, ring_size * AG71XX_DESC_SIZE, tx->descs_cpu, tx->descs_dma); kfree(tx->buf); @@ -892,7 +892,7 @@ static netdev_tx_t ag71xx_hard_start_xmit(struct sk_buff *skb, goto err_drop; } - dma_addr = dma_map_single(&dev->dev, skb->data, skb->len, + dma_addr = dma_map_single(&ag->pdev->dev, skb->data, skb->len, DMA_TO_DEVICE); i = ring->curr & ring_mask; @@ -934,7 +934,7 @@ static netdev_tx_t ag71xx_hard_start_xmit(struct sk_buff *skb, return NETDEV_TX_OK; err_drop_unmap: - dma_unmap_single(&dev->dev, dma_addr, skb->len, DMA_TO_DEVICE); + dma_unmap_single(&ag->pdev->dev, dma_addr, skb->len, DMA_TO_DEVICE); err_drop: dev->stats.tx_dropped++; @@ -1147,7 +1147,7 @@ static int ag71xx_rx_packets(struct ag71xx *ag, int limit) pktlen = desc->ctrl & pktlen_mask; pktlen -= ETH_FCS_LEN; - dma_unmap_single(&dev->dev, ring->buf[i].dma_addr, + dma_unmap_single(&ag->pdev->dev, ring->buf[i].dma_addr, ag->rx_buf_size, DMA_FROM_DEVICE); dev->stats.rx_packets++; |