8139cp: fix coherent mapping leak in error path.
authorfran├žois romieu <romieu@fr.zoreil.com>
Sat, 1 Dec 2012 13:08:50 +0000 (13:08 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 2 Dec 2012 01:39:17 +0000 (20:39 -0500)
commit892a925e42adb8192a3c832ad29cbc780fc466f6
treec89458159f626aa6b722d04331b1bb43c258d150
parent64022d0b4e93ea432e95db55a72b8a1c5775f3c0
8139cp: fix coherent mapping leak in error path.

cp_open
[...]
        rc = cp_alloc_rings(cp);
        if (rc)
                return rc;

cp_alloc_rings
[...]
        mem = dma_alloc_coherent(&cp->pdev->dev, CP_RING_BYTES,
                                 &cp->ring_dma, GFP_KERNEL);

- cp_alloc_rings never frees the coherent mapping it allocates
- neither do cp_open when cp_alloc_rings fails

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/realtek/8139cp.c