diff options
author | Steve Hodgson <shodgson@solarflare.com> | 2009-11-28 00:34:44 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-29 02:58:51 -0500 |
commit | ab86746175a5e1379abb9c7c38522af4d3176f57 (patch) | |
tree | 785e6540facd6807909c24e827a61a1d441fc5bc /drivers/net/sfc/falcon.c | |
parent | 47c3d19f60da7cc018781744b1ffb3b557373e7f (diff) |
sfc: Replace MDIO spinlock with mutex
We never use MDIO in atomic context, so we don't need to spin.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/falcon.c')
-rw-r--r-- | drivers/net/sfc/falcon.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/sfc/falcon.c b/drivers/net/sfc/falcon.c index e16faad70283..372dbbc72404 100644 --- a/drivers/net/sfc/falcon.c +++ b/drivers/net/sfc/falcon.c | |||
@@ -2110,7 +2110,7 @@ static int falcon_mdio_write(struct net_device *net_dev, | |||
2110 | EFX_REGDUMP(efx, "writing MDIO %d register %d.%d with 0x%04x\n", | 2110 | EFX_REGDUMP(efx, "writing MDIO %d register %d.%d with 0x%04x\n", |
2111 | prtad, devad, addr, value); | 2111 | prtad, devad, addr, value); |
2112 | 2112 | ||
2113 | spin_lock_bh(&efx->phy_lock); | 2113 | mutex_lock(&efx->mdio_lock); |
2114 | 2114 | ||
2115 | /* Check MDIO not currently being accessed */ | 2115 | /* Check MDIO not currently being accessed */ |
2116 | rc = falcon_gmii_wait(efx); | 2116 | rc = falcon_gmii_wait(efx); |
@@ -2145,8 +2145,8 @@ static int falcon_mdio_write(struct net_device *net_dev, | |||
2145 | udelay(10); | 2145 | udelay(10); |
2146 | } | 2146 | } |
2147 | 2147 | ||
2148 | out: | 2148 | out: |
2149 | spin_unlock_bh(&efx->phy_lock); | 2149 | mutex_unlock(&efx->mdio_lock); |
2150 | return rc; | 2150 | return rc; |
2151 | } | 2151 | } |
2152 | 2152 | ||
@@ -2158,7 +2158,7 @@ static int falcon_mdio_read(struct net_device *net_dev, | |||
2158 | efx_oword_t reg; | 2158 | efx_oword_t reg; |
2159 | int rc; | 2159 | int rc; |
2160 | 2160 | ||
2161 | spin_lock_bh(&efx->phy_lock); | 2161 | mutex_lock(&efx->mdio_lock); |
2162 | 2162 | ||
2163 | /* Check MDIO not currently being accessed */ | 2163 | /* Check MDIO not currently being accessed */ |
2164 | rc = falcon_gmii_wait(efx); | 2164 | rc = falcon_gmii_wait(efx); |
@@ -2194,8 +2194,8 @@ static int falcon_mdio_read(struct net_device *net_dev, | |||
2194 | prtad, devad, addr, rc); | 2194 | prtad, devad, addr, rc); |
2195 | } | 2195 | } |
2196 | 2196 | ||
2197 | out: | 2197 | out: |
2198 | spin_unlock_bh(&efx->phy_lock); | 2198 | mutex_unlock(&efx->mdio_lock); |
2199 | return rc; | 2199 | return rc; |
2200 | } | 2200 | } |
2201 | 2201 | ||