e1000: fix lockdep splat in shutdown handler
authorJesse Brandeburg <jesse.brandeburg@intel.com>
Wed, 4 Jan 2012 20:23:33 +0000 (20:23 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 17 Oct 2012 02:50:10 +0000 (03:50 +0100)
commit79c43665e46e20bf3b1029e0cb28e294b84ba6c0
tree703b7d4f9954a83e184708226a25bff6321d2c3c
parentc06493eb505b0fe5fb96f22dcb6777f8fcd2d3c6
e1000: fix lockdep splat in shutdown handler

commit 3a3847e007aae732d64d8fd1374126393e9879a3 upstream.

As reported by Steven Rostedt, e1000 has a lockdep splat added
during the recent merge window.  The issue is that
cancel_delayed_work is called while holding our private mutex.

There is no reason that I can see to hold the mutex during pci
shutdown, it was more just paranoia that I put the mutex_lock
around the call to e1000_down.

In a quick survey lots of drivers handle locking differently when
being called by the pci layer.  The assumption here is that we
don't need the mutexes' protection in this function because
the driver could not be unloaded while in the shutdown handler
which is only called at reboot or poweroff.

Reported-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Steven Rostedt <rostedt@goodmis.org>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/net/ethernet/intel/e1000/e1000_main.c