mv643xx_eth: fix the order of mdiobus_{unregister, free}() calls
authorLennert Buytenhek <buytenh@wantstofly.org>
Tue, 18 Nov 2008 04:28:35 +0000 (04:28 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 20 Nov 2008 09:39:40 +0000 (01:39 -0800)
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/mv643xx_eth.c

index b9dcdbd369f87b87e5e9e12650e50d7ada6d9465..baa7e845a0114aa7ffbdddb8b44300e93541a027 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);