summaryrefslogtreecommitdiffstats
path: root/drivers/net/sky2.c
diff options
context:
space:
mode:
authorMike McCormack <mikem@ring3k.org>2010-03-13 12:24:18 -0800
committerDavid S. Miller <davem@davemloft.net>2010-03-13 12:24:18 -0800
commit2a40018984c5c9647df1c18489449a3a227d9136 (patch)
tree060b4f3595eecbdb9d670ed6da4c7892520a40a9 /drivers/net/sky2.c
parente2577a065832f2c6d108de2e027891bdb2d78924 (diff)
downloadlinux-2a40018984c5c9647df1c18489449a3a227d9136.tar.gz
linux-2a40018984c5c9647df1c18489449a3a227d9136.tar.bz2
linux-2a40018984c5c9647df1c18489449a3a227d9136.zip
sky2: Avoid rtnl_unlock without rtnl_lock
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>
Diffstat (limited to 'drivers/net/sky2.c')
-rw-r--r--drivers/net/sky2.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index 653bdd76ef46..d8ec4c11fd49 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -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)