projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
9f71a56
)
netdev: ehea: locking order correction
author
Daniel Walker
<
[email protected]
>
Fri, 28 Mar 2008 21:41:27 +0000
(14:41 -0700)
committer
Jeff Garzik
<
[email protected]
>
Sat, 29 Mar 2008 02:14:33 +0000
(22:14 -0400)
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 <
[email protected]
>
Cc: Christoph Raisch <
[email protected]
>
Cc: Jan-Bernd Themann <
[email protected]
>
Cc: Thomas Klein <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Jeff Garzik <
[email protected]
>
drivers/net/ehea/ehea_main.c
patch
|
blob
|
history
diff --git
a/drivers/net/ehea/ehea_main.c
b/drivers/net/ehea/ehea_main.c
index 4ae65e876487693e7d6eeb2b29400b2aeca15602..0cfc7e2ce395dbd411d50e8bd475d0cf787e79ef 100644
(file)
--- 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)
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();