mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-12-09 06:34:13 +00:00
With lockdep enabled we get: ============================================= [ INFO: possible recursive locking detected ] 3.4.4-Cavium-Octeon+ #313 Not tainted --------------------------------------------- kworker/u:1/36 is trying to acquire lock: (&bus->mdio_lock){+.+...}, at: [<ffffffff813da7e8>] mdio_mux_read+0x38/0xa0 but task is already holding lock: (&bus->mdio_lock){+.+...}, at: [<ffffffff813d79e4>] mdiobus_read+0x44/0x88 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&bus->mdio_lock); lock(&bus->mdio_lock); *** DEADLOCK *** May be due to missing lock nesting notation . . . This is a false positive, since we are indeed using 'nested' locking, we need to use mutex_lock_nested(). Now in theory we can stack multiple MDIO multiplexers, but that would require passing the nesting level (which is difficult to know) to mutex_lock_nested(). Instead we assume the simple case of a single level of nesting. Since these are only warning messages, it isn't so important to solve the general case. Signed-off-by: David Daney <david.daney@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net> |
||
|---|---|---|
| .. | ||
| amd.c | ||
| bcm63xx.c | ||
| broadcom.c | ||
| cicada.c | ||
| davicom.c | ||
| dp83640_reg.h | ||
| dp83640.c | ||
| et1011c.c | ||
| fixed.c | ||
| icplus.c | ||
| Kconfig | ||
| lxt.c | ||
| Makefile | ||
| marvell.c | ||
| mdio_bus.c | ||
| mdio-bitbang.c | ||
| mdio-gpio.c | ||
| mdio-mux-gpio.c | ||
| mdio-mux.c | ||
| mdio-octeon.c | ||
| micrel.c | ||
| national.c | ||
| phy_device.c | ||
| phy.c | ||
| qsemi.c | ||
| realtek.c | ||
| smsc.c | ||
| spi_ks8995.c | ||
| ste10Xp.c | ||
| vitesse.c | ||