mv643xx_eth: fix the order of mdiobus_{unregister, free}() calls
Lennert Buytenhek [Tue, 18 Nov 2008 04:28:35 +0000 (04:28 +0000)]
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

drivers/net/mv643xx_eth.c

index b9dcdbd..baa7e84 100644 (file)
@@ -2435,8 +2435,8 @@ static int mv643xx_eth_shared_remove(struct platform_device *pdev)
        struct mv643xx_eth_shared_platform_data *pd = pdev->dev.platform_data;
 
        if (pd == NULL || pd->shared_smi == NULL) {
-               mdiobus_free(msp->smi_bus);
                mdiobus_unregister(msp->smi_bus);
+               mdiobus_free(msp->smi_bus);
        }
        if (msp->err_interrupt != NO_IRQ)
                free_irq(msp->err_interrupt, msp);