aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-11-25 16:22:41 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-11-25 16:22:41 +0000
commit8ad54661e484a71b747c73c75662ef93bb7017dd (patch)
tree82e44be073b94e29f5034455c783a09bc06e5856 /target/linux/generic
parentb7e52d394c9549b1c07e56a39239aa646103cf8c (diff)
downloadopenwrt-8ad54661e484a71b747c73c75662ef93bb7017dd.tar.gz
openwrt-8ad54661e484a71b747c73c75662ef93bb7017dd.zip
AA: generic: ar8216: use dynamically allocated private data in ar8216_probe
Backport of r34242. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@34356 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic')
-rw-r--r--target/linux/generic/files/drivers/net/phy/ar8216.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c
index 4df2dbbdb..5a8a93818 100644
--- a/target/linux/generic/files/drivers/net/phy/ar8216.c
+++ b/target/linux/generic/files/drivers/net/phy/ar8216.c
@@ -1481,10 +1481,19 @@ ar8216_config_aneg(struct phy_device *phydev)
static int
ar8216_probe(struct phy_device *pdev)
{
- struct ar8216_priv priv;
+ struct ar8216_priv *priv;
+ int ret;
+
+ priv = kzalloc(sizeof(struct ar8216_priv), GFP_KERNEL);
+ if (priv == NULL)
+ return -ENOMEM;
+
+ priv->phy = pdev;
- priv.phy = pdev;
- return ar8216_id_chip(&priv);
+ ret = ar8216_id_chip(priv);
+ kfree(priv);
+
+ return ret;
}
static void