generic: ar8216: don't probe the chip multiple times
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 10 Feb 2013 13:05:15 +0000 (13:05 +0000)
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 10 Feb 2013 13:05:15 +0000 (13:05 +0000)
It is only needed when the private data is allocated.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35538 3c298f89-4303-0410-b956-a3cf2f4a3e73

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

index f356eaf..ec6d232 100644 (file)
@@ -1780,17 +1780,17 @@ ar8216_config_init(struct phy_device *pdev)
                priv = kzalloc(sizeof(struct ar8216_priv), GFP_KERNEL);
                if (priv == NULL)
                        return -ENOMEM;
-       }
 
-       priv->mii_bus = pdev->bus;
-       priv->read = ar8216_mii_read;
-       priv->write = ar8216_mii_write;
+               priv->mii_bus = pdev->bus;
+               priv->read = ar8216_mii_read;
+               priv->write = ar8216_mii_write;
 
-       priv->phy = pdev;
+               ret = ar8216_id_chip(priv);
+               if (ret)
+                       goto err_free_priv;
+       }
 
-       ret = ar8216_id_chip(priv);
-       if (ret)
-               goto err_free_priv;
+       priv->phy = pdev;
 
        if (ar8xxx_has_gige(priv))
                pdev->supported = SUPPORTED_1000baseT_Full;