sky2: Avoid rtnl_unlock without rtnl_lock
authorMike McCormack <mikem@ring3k.org>
Sat, 13 Mar 2010 20:24:18 +0000 (12:24 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 13 Mar 2010 20:24:18 +0000 (12:24 -0800)
Make sure we always call rtnl_lock before going down the
error path in sky2_resume, which unlocks the rtnl lock.

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/sky2.c

index 653bdd76ef46bb5e98abe9ee6b98f69fe4eaa68b..d8ec4c11fd49fec6a52bab0b8914cd1749419644 100644 (file)
@@ -4863,6 +4863,7 @@ static int sky2_resume(struct pci_dev *pdev)
        if (!hw)
                return 0;
 
+       rtnl_lock();
        err = pci_set_power_state(pdev, PCI_D0);
        if (err)
                goto out;
@@ -4884,7 +4885,6 @@ static int sky2_resume(struct pci_dev *pdev)
        sky2_write32(hw, B0_IMSK, Y2_IS_BASE);
        napi_enable(&hw->napi);
 
-       rtnl_lock();
        for (i = 0; i < hw->ports; i++) {
                err = sky2_reattach(hw->dev[i]);
                if (err)