Messages in this thread Patch in this message | | | Date | Thu, 06 Mar 2008 00:00:03 -0800 | Subject | [PATCH 3/5] net: ehea: locking order correction | From | Daniel Walker <> |
| |
-- Content-Disposition: inline; filename=net-ehea-correct-locking-order.patch
Nested locks always need to be taken in the same order. This change factors out the ehea_fw_handles.lock to make the locking order consistent.
Signed-off-by: Daniel Walker <dwalker@mvista.com>
--- drivers/net/ehea/ehea_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Index: linux-2.6.24/drivers/net/ehea/ehea_main.c =================================================================== --- linux-2.6.24.orig/drivers/net/ehea/ehea_main.c +++ linux-2.6.24/drivers/net/ehea/ehea_main.c @@ -2567,14 +2567,14 @@ static int ehea_down(struct net_device * if (port->state == EHEA_PORT_DOWN) return 0; + mutex_lock(&ehea_fw_handles.lock); + down(&ehea_bcmc_regs.lock); ehea_drop_multicast_list(dev); ehea_broadcast_reg_helper(port, H_DEREG_BCMC); ehea_free_interrupts(dev); - mutex_lock(&ehea_fw_handles.lock); - port->state = EHEA_PORT_DOWN; ehea_update_bcmc_registrations(); --
| |