9ff8c68b3c
Use spin_lock_bh()/spin_unlock_bh() for the phydev lock throughout as it is used in phy_timer() that is called as a softirq and all the other operations may happen in the user context. There has been a change recently that did such a conversion for some of the operations on the lock, but some have been left intact. Many of them, perhaps all, may be called in the user context and I was able to trigger recursive spinlock acquisition indeed, so I think for the sake of long-term maintenance it is best to convert them all, even if unnecessarily for one or two -- better safe than sorry. Perhaps one in phy_timer() could actually be skipped as only called as a softirq -- I can send an update if that sounds like a good idea. Checked with checkpatch.pl and at the runtime. Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org> |
||
---|---|---|
.. | ||
broadcom.c | ||
cicada.c | ||
davicom.c | ||
fixed.c | ||
icplus.c | ||
Kconfig | ||
lxt.c | ||
Makefile | ||
marvell.c | ||
mdio_bus.c | ||
phy_device.c | ||
phy.c | ||
qsemi.c | ||
smsc.c | ||
vitesse.c |