diff options
author | Ben Dooks <ben-linux@fluff.org> | 2008-08-07 12:21:09 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-08-14 04:44:21 -0400 |
commit | c0912585ec8b64d846d56995241f2c8a7f48ee75 (patch) | |
tree | a1d55fd65b6f018b0537d353c35c71633f46da13 /drivers/net/ax88796.c | |
parent | 1a3c4bc61547e5a75fd3b85b425624756da4cffb (diff) |
AX88796: Fix locking in ethtool support
Fix a pair of nasty locking problems in the ax88796 driver
spotted by a sparse check:
warning: context imbalance in 'ax_get_settings' - wrong count at exit
warning: context imbalance in 'ax_set_settings' - wrong count at exit
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/ax88796.c')
-rw-r--r-- | drivers/net/ax88796.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ax88796.c b/drivers/net/ax88796.c index 0b4adf4a0f7d..a886a4b9f7e5 100644 --- a/drivers/net/ax88796.c +++ b/drivers/net/ax88796.c | |||
@@ -554,7 +554,7 @@ static int ax_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) | |||
554 | 554 | ||
555 | spin_lock_irqsave(&ax->mii_lock, flags); | 555 | spin_lock_irqsave(&ax->mii_lock, flags); |
556 | mii_ethtool_gset(&ax->mii, cmd); | 556 | mii_ethtool_gset(&ax->mii, cmd); |
557 | spin_lock_irqsave(&ax->mii_lock, flags); | 557 | spin_unlock_irqrestore(&ax->mii_lock, flags); |
558 | 558 | ||
559 | return 0; | 559 | return 0; |
560 | } | 560 | } |
@@ -567,7 +567,7 @@ static int ax_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) | |||
567 | 567 | ||
568 | spin_lock_irqsave(&ax->mii_lock, flags); | 568 | spin_lock_irqsave(&ax->mii_lock, flags); |
569 | rc = mii_ethtool_sset(&ax->mii, cmd); | 569 | rc = mii_ethtool_sset(&ax->mii, cmd); |
570 | spin_lock_irqsave(&ax->mii_lock, flags); | 570 | spin_unlock_irqrestore(&ax->mii_lock, flags); |
571 | 571 | ||
572 | return rc; | 572 | return rc; |
573 | } | 573 | } |