AA: generic: ar8216: use dynamically allocated private data in ar8216_probe
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 25 Nov 2012 16:22:41 +0000 (16:22 +0000)
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 25 Nov 2012 16:22:41 +0000 (16:22 +0000)
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

target/linux/generic/files/drivers/net/phy/ar8216.c

index 4df2dbb..5a8a938 100644 (file)
@@ -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