summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMadalin Bucur <madalin.bucur@freescale.com>2013-06-25 15:40:35 (GMT)
committerFleming Andrew-AFLEMING <AFLEMING@freescale.com>2013-07-15 21:48:46 (GMT)
commitba7039c00774b6eb8131ea517b570d89c6625e0e (patch)
tree9f292ec4f10793495aef559cfcf381cec603aed9
parenta8266eb96e814689ff8259571fd09edb84cb750a (diff)
downloadlinux-fsl-qoriq-ba7039c00774b6eb8131ea517b570d89c6625e0e.tar.xz
dpaa_eth: free buf_layout on error paths
The allocated buf_layout must be freed on all error paths. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com> Change-Id: Icf2e68f90c28adcc99fdc56492942f3595033b21 Reviewed-on: http://git.am.freescale.net:8181/3093 Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
-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);