net: mediatek: invalid buffer lookup in mtk_tx_map()
authorJohn Crispin <john@phrozen.org>
Fri, 10 Jun 2016 11:28:00 +0000 (13:28 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 11 Jun 2016 06:29:29 +0000 (23:29 -0700)
The lookup of the tx_buffer in the error path inside mtk_tx_map() uses the
wrong descriptor pointer. This looks like a copy & paste error. Change the
code to use the correct pointer.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mediatek/mtk_eth_soc.c

index fb8b17db7fa2b1e9bcd6aeaeaf136770a636a4be..8c3e5438794819308eef40f3d64a55c2729fc767 100644 (file)
@@ -674,7 +674,7 @@ static int mtk_tx_map(struct sk_buff *skb, struct net_device *dev,
 
 err_dma:
        do {
-               tx_buf = mtk_desc_to_tx_buf(ring, txd);
+               tx_buf = mtk_desc_to_tx_buf(ring, itxd);
 
                /* unmap dma */
                mtk_tx_unmap(&dev->dev, tx_buf);