aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDaniel Walker <dwalker@mvista.com>2008-03-28 17:41:27 -0400
committerJeff Garzik <jeff@garzik.org>2008-03-28 22:14:33 -0400
commitdbbcbb2d95dc4faa3b96d39f78032c85e8745c0c (patch)
tree887c16fff0805fcb9f4dbb977cc81213726867f1 /drivers
parent9f71a568f5f1d6c9fb3ca89b6b973475e6475192 (diff)
netdev: ehea: locking order correction
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> Cc: Christoph Raisch <raisch@de.ibm.com> Cc: Jan-Bernd Themann <themann@de.ibm.com> Cc: Thomas Klein <tklein@de.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ehea/ehea_main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c
index 4ae65e876487..0cfc7e2ce395 100644
--- a/drivers/net/ehea/ehea_main.c
+++ b/drivers/net/ehea/ehea_main.c
@@ -2567,14 +2567,14 @@ static int ehea_down(struct net_device *dev)
2567 if (port->state == EHEA_PORT_DOWN) 2567 if (port->state == EHEA_PORT_DOWN)
2568 return 0; 2568 return 0;
2569 2569
2570 mutex_lock(&ehea_fw_handles.lock);
2571
2570 down(&ehea_bcmc_regs.lock); 2572 down(&ehea_bcmc_regs.lock);
2571 ehea_drop_multicast_list(dev); 2573 ehea_drop_multicast_list(dev);
2572 ehea_broadcast_reg_helper(port, H_DEREG_BCMC); 2574 ehea_broadcast_reg_helper(port, H_DEREG_BCMC);
2573 2575
2574 ehea_free_interrupts(dev); 2576 ehea_free_interrupts(dev);
2575 2577
2576 mutex_lock(&ehea_fw_handles.lock);
2577
2578 port->state = EHEA_PORT_DOWN; 2578 port->state = EHEA_PORT_DOWN;
2579 2579
2580 ehea_update_bcmc_registrations(); 2580 ehea_update_bcmc_registrations();