]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/fs_enet/mii-bitbang.c
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6-omap-h63xx.git] / drivers / net / fs_enet / mii-bitbang.c
index be4b72f4f49ae8bfec9c87d4fdc9bdbecc203f39..49b6645d7e0cb4bd8cc8bddcd1667ded1b3588af 100644 (file)
@@ -203,7 +203,7 @@ static int __devinit fs_enet_mdio_probe(struct of_device *ofdev,
                if (!strcmp(np->type, "ethernet-phy"))
                        add_phy(new_bus, np);
 
-       new_bus->dev = &ofdev->dev;
+       new_bus->parent = &ofdev->dev;
        dev_set_drvdata(&ofdev->dev, new_bus);
 
        ret = mdiobus_register(new_bus);
@@ -218,9 +218,9 @@ out_free_irqs:
 out_unmap_regs:
        iounmap(bitbang->dir);
 out_free_bus:
-       kfree(new_bus);
-out_free_priv:
        free_mdio_bitbang(new_bus);
+out_free_priv:
+       kfree(bitbang);
 out:
        return ret;
 }
@@ -231,12 +231,11 @@ static int fs_enet_mdio_remove(struct of_device *ofdev)
        struct bb_info *bitbang = bus->priv;
 
        mdiobus_unregister(bus);
-       free_mdio_bitbang(bus);
        dev_set_drvdata(&ofdev->dev, NULL);
        kfree(bus->irq);
+       free_mdio_bitbang(bus);
        iounmap(bitbang->dir);
        kfree(bitbang);
-       kfree(bus);
 
        return 0;
 }