generic: ar8216: free mib counters from ar8xxx_free
authorGabor Juhos <juhosg@openwrt.org>
Sun, 10 Feb 2013 18:42:07 +0000 (18:42 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Sun, 10 Feb 2013 18:42:07 +0000 (18:42 +0000)
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35545

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

index a7a2a6356789846dbc379147f76f41e3aa70890d..492963de1c5d8d92d86eed714a3e444fe45c6614 100644 (file)
@@ -1762,7 +1762,6 @@ ar8xxx_mib_cleanup(struct ar8216_priv *priv)
                return;
 
        cancel_delayed_work(&priv->mib_work);
-       kfree(priv->mib_stats);
 }
 
 static struct ar8216_priv *
@@ -1784,6 +1783,7 @@ ar8xxx_create(void)
 static void
 ar8xxx_free(struct ar8216_priv *priv)
 {
+       kfree(priv->mib_stats);
        kfree(priv);
 }
 
@@ -1893,7 +1893,7 @@ ar8216_config_init(struct phy_device *pdev)
 
        ret = register_switch(swdev, pdev->attached_dev);
        if (ret)
-               goto err_cleanup_mib;
+               goto err_free_priv;
 
        printk(KERN_INFO "%s: %s switch driver attached.\n",
                pdev->attached_dev->name, swdev->name);
@@ -1924,8 +1924,6 @@ ar8216_config_init(struct phy_device *pdev)
 
 err_unregister_switch:
        unregister_switch(&priv->dev);
-err_cleanup_mib:
-       ar8xxx_mib_cleanup(priv);
 err_free_priv:
        ar8xxx_free(priv);
        pdev->priv = NULL;