summaryrefslogtreecommitdiff
path: root/drivers/net/ibm_newemac/core.h
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2007-11-20 06:50:46 +0300
committerJeff Garzik <jeff@garzik.org>2007-11-24 04:52:09 +0300
commit61dbcecef568450de954115180881bf2f68511bc (patch)
tree5cd9d0bff1ab065764230f870a1a48bbdb22142d /drivers/net/ibm_newemac/core.h
parent2ffbb8377c7a0713baf6644e285adc27a5654582 (diff)
downloadlinux-61dbcecef568450de954115180881bf2f68511bc.tar.xz
ibm_newemac: Fix possible lockup on close
It's a bad idea to call flush_scheduled_work from within a netdev->stop because the linkwatch will occasionally take the rtnl lock from a workqueue context, and thus that can deadlock. This reworks things a bit in that area to avoid the problem. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/ibm_newemac/core.h')
-rw-r--r--drivers/net/ibm_newemac/core.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ibm_newemac/core.h b/drivers/net/ibm_newemac/core.h
index 4011803117ca..a010b2463fd9 100644
--- a/drivers/net/ibm_newemac/core.h
+++ b/drivers/net/ibm_newemac/core.h
@@ -258,6 +258,7 @@ struct emac_instance {
int stop_timeout; /* in us */
int no_mcast;
int mcast_pending;
+ int opened;
struct work_struct reset_work;
spinlock_t lock;
};