diff options
Diffstat (limited to 'drivers/net/ethernet/marvell/mvneta.c')
-rw-r--r-- | drivers/net/ethernet/marvell/mvneta.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c index fe2299ac4f5c..514df76fc70f 100644 --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c | |||
@@ -1479,6 +1479,7 @@ static int mvneta_rx(struct mvneta_port *pp, int rx_todo, | |||
1479 | struct mvneta_rx_desc *rx_desc = mvneta_rxq_next_desc_get(rxq); | 1479 | struct mvneta_rx_desc *rx_desc = mvneta_rxq_next_desc_get(rxq); |
1480 | struct sk_buff *skb; | 1480 | struct sk_buff *skb; |
1481 | unsigned char *data; | 1481 | unsigned char *data; |
1482 | dma_addr_t phys_addr; | ||
1482 | u32 rx_status; | 1483 | u32 rx_status; |
1483 | int rx_bytes, err; | 1484 | int rx_bytes, err; |
1484 | 1485 | ||
@@ -1486,6 +1487,7 @@ static int mvneta_rx(struct mvneta_port *pp, int rx_todo, | |||
1486 | rx_status = rx_desc->status; | 1487 | rx_status = rx_desc->status; |
1487 | rx_bytes = rx_desc->data_size - (ETH_FCS_LEN + MVNETA_MH_SIZE); | 1488 | rx_bytes = rx_desc->data_size - (ETH_FCS_LEN + MVNETA_MH_SIZE); |
1488 | data = (unsigned char *)rx_desc->buf_cookie; | 1489 | data = (unsigned char *)rx_desc->buf_cookie; |
1490 | phys_addr = rx_desc->buf_phys_addr; | ||
1489 | 1491 | ||
1490 | if (!mvneta_rxq_desc_is_first_last(rx_status) || | 1492 | if (!mvneta_rxq_desc_is_first_last(rx_status) || |
1491 | (rx_status & MVNETA_RXD_ERR_SUMMARY)) { | 1493 | (rx_status & MVNETA_RXD_ERR_SUMMARY)) { |
@@ -1534,7 +1536,7 @@ static int mvneta_rx(struct mvneta_port *pp, int rx_todo, | |||
1534 | if (!skb) | 1536 | if (!skb) |
1535 | goto err_drop_frame; | 1537 | goto err_drop_frame; |
1536 | 1538 | ||
1537 | dma_unmap_single(dev->dev.parent, rx_desc->buf_phys_addr, | 1539 | dma_unmap_single(dev->dev.parent, phys_addr, |
1538 | MVNETA_RX_BUF_SIZE(pp->pkt_size), DMA_FROM_DEVICE); | 1540 | MVNETA_RX_BUF_SIZE(pp->pkt_size), DMA_FROM_DEVICE); |
1539 | 1541 | ||
1540 | rcvd_pkts++; | 1542 | rcvd_pkts++; |
@@ -3173,6 +3175,8 @@ static int mvneta_probe(struct platform_device *pdev) | |||
3173 | struct phy_device *phy = of_phy_find_device(dn); | 3175 | struct phy_device *phy = of_phy_find_device(dn); |
3174 | 3176 | ||
3175 | mvneta_fixed_link_update(pp, phy); | 3177 | mvneta_fixed_link_update(pp, phy); |
3178 | |||
3179 | put_device(&phy->dev); | ||
3176 | } | 3180 | } |
3177 | 3181 | ||
3178 | return 0; | 3182 | return 0; |