diff options
author | Ingo Molnar <mingo@kernel.org> | 2016-11-22 12:37:38 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-11-22 12:37:38 +0100 |
commit | 02cb689b2c102178c83e763e4f34b3efe7f969e2 (patch) | |
tree | cba7eb3f16487cef5dc4a2690686b1e2eb42af0c /drivers/net/ethernet/cadence/macb.c | |
parent | 194a6b5b9cb6b91a5f7d86984165a3bc55188599 (diff) | |
parent | 3b404a519815b9820f73f1ecf404e5546c9270ba (diff) | |
download | blackbird-obmc-linux-02cb689b2c102178c83e763e4f34b3efe7f969e2.tar.gz blackbird-obmc-linux-02cb689b2c102178c83e763e4f34b3efe7f969e2.zip |
Merge branch 'linus' into locking/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/net/ethernet/cadence/macb.c')
-rw-r--r-- | drivers/net/ethernet/cadence/macb.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/ethernet/cadence/macb.c b/drivers/net/ethernet/cadence/macb.c index b32444a3ed79..533653bd7aec 100644 --- a/drivers/net/ethernet/cadence/macb.c +++ b/drivers/net/ethernet/cadence/macb.c @@ -2673,6 +2673,12 @@ static int at91ether_start_xmit(struct sk_buff *skb, struct net_device *dev) lp->skb_length = skb->len; lp->skb_physaddr = dma_map_single(NULL, skb->data, skb->len, DMA_TO_DEVICE); + if (dma_mapping_error(NULL, lp->skb_physaddr)) { + dev_kfree_skb_any(skb); + dev->stats.tx_dropped++; + netdev_err(dev, "%s: DMA mapping error\n", __func__); + return NETDEV_TX_OK; + } /* Set address of the data in the Transmit Address register */ macb_writel(lp, TAR, lp->skb_physaddr); |