summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/patches-3.9/020-bcm63xx_enet-use-managed-memory-allocations.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm63xx/patches-3.9/020-bcm63xx_enet-use-managed-memory-allocations.patch')
-rw-r--r--target/linux/brcm63xx/patches-3.9/020-bcm63xx_enet-use-managed-memory-allocations.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-3.9/020-bcm63xx_enet-use-managed-memory-allocations.patch b/target/linux/brcm63xx/patches-3.9/020-bcm63xx_enet-use-managed-memory-allocations.patch
new file mode 100644
index 000000000..d121fce15
--- /dev/null
+++ b/target/linux/brcm63xx/patches-3.9/020-bcm63xx_enet-use-managed-memory-allocations.patch
@@ -0,0 +1,42 @@
+From 451a609ca472f80838df056689359c5486d832c1 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jogo@openwrt.org>
+Date: Sun, 10 Mar 2013 14:05:01 +0100
+Subject: [PATCH 2/3] bcm63xx_enet: use managed memory allocations
+
+Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+---
+ drivers/net/ethernet/broadcom/bcm63xx_enet.c | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
++++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
+@@ -1727,7 +1727,8 @@ static int bcm_enet_probe(struct platfor
+ * if a slave is not present on hw */
+ bus->phy_mask = ~(1 << priv->phy_id);
+
+- bus->irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL);
++ bus->irq = devm_kzalloc(&pdev->dev, sizeof(int) * PHY_MAX_ADDR,
++ GFP_KERNEL);
+ if (!bus->irq) {
+ ret = -ENOMEM;
+ goto out_free_mdio;
+@@ -1788,10 +1789,8 @@ static int bcm_enet_probe(struct platfor
+ return 0;
+
+ out_unregister_mdio:
+- if (priv->mii_bus) {
++ if (priv->mii_bus)
+ mdiobus_unregister(priv->mii_bus);
+- kfree(priv->mii_bus->irq);
+- }
+
+ out_free_mdio:
+ if (priv->mii_bus)
+@@ -1832,7 +1831,6 @@ static int bcm_enet_remove(struct platfo
+
+ if (priv->has_phy) {
+ mdiobus_unregister(priv->mii_bus);
+- kfree(priv->mii_bus->irq);
+ mdiobus_free(priv->mii_bus);
+ } else {
+ struct bcm63xx_enet_platform_data *pd;