summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/freescale/dpa/dpaa_eth.c1
-rw-r--r--drivers/net/ethernet/freescale/dpa/dpaa_eth_proxy.c4
-rw-r--r--drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c1
3 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth.c
index 4d088c3..4cd08d5 100644
--- a/drivers/net/ethernet/freescale/dpa/dpaa_eth.c
+++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth.c
@@ -3257,6 +3257,7 @@ get_channel_failed:
dpa_bp_free(priv, priv->dpa_bp);
bp_create_failed:
fq_probe_failed:
+ devm_kfree(dev, buf_layout);
alloc_failed:
mac_probe_failed:
dev_set_drvdata(dev, NULL);
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_proxy.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth_proxy.c
index 1f3e519..21dda6d 100644
--- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_proxy.c
+++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_proxy.c
@@ -132,8 +132,10 @@ static int dpaa_eth_proxy_probe(struct platform_device *_of_dev)
if (!err)
err = dpa_fq_probe_mac(dev, &proxy_fq_list, &port_fqs, true,
TX);
- if (err < 0)
+ if (err < 0) {
+ devm_kfree(dev, buf_layout);
return err;
+ }
/* Proxy initializer - Just configures the MAC on behalf of
* another partition.
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c
index 2d06be1..76f5e50 100644
--- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c
+++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c
@@ -771,6 +771,7 @@ get_channel_failed:
dpa_bp_free(priv, priv->dpa_bp);
bp_create_failed:
fq_probe_failed:
+ devm_kfree(dev, buf_layout);
alloc_failed:
mac_probe_failed:
dev_set_drvdata(dev, NULL);