diff options
author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-02-10 13:05:15 +0000 |
---|---|---|
committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-02-10 13:05:15 +0000 |
commit | 03715e59dbcfa4249552f291f2e64557b7ccc0ce (patch) | |
tree | dbc4e3f9dd249896b2908e99241376338527372e /target/linux/generic/files/drivers | |
parent | a1483517cd0daff3e27624ce227840562ee89ab6 (diff) |
generic: ar8216: don't probe the chip multiple times
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
Diffstat (limited to 'target/linux/generic/files/drivers')
-rw-r--r-- | target/linux/generic/files/drivers/net/phy/ar8216.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/ar8216.c b/target/linux/generic/files/drivers/net/phy/ar8216.c index f356eafe5..ec6d23266 100644 --- a/target/linux/generic/files/drivers/net/phy/ar8216.c +++ b/target/linux/generic/files/drivers/net/phy/ar8216.c @@ -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; |