]> git.baikalelectronics.ru Git - kernel.git/commit
tg3: Fix 'scheduling while atomic' errors
authorMatt Carlson <mcarlson@broadcom.com>
Tue, 5 Aug 2008 06:17:34 +0000 (23:17 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 5 Aug 2008 06:18:20 +0000 (23:18 -0700)
commitf8bf7ba30311cc054aec2229482cb05c06d962ac
treece1ea9366803f667e68dd57eaf70261aa65bd6a3
parent327a1c2ebf330cf6f11e162d75184fe226146553
tg3: Fix 'scheduling while atomic' errors

This patch fixes the 'scheduling while atomic' errors introduced by
commit a5c1d2b607668125551d711b3a737685cc5306fc ("tg3: adapt tg3 to
use reworked PCI PM code").

The first hunk of the patch removes an unnecessary
tg3_set_power_state() call.  The chip will already be in the D0 state
either due to a chip reset or through a previous call to
tg3_set_power_state().

The second hunk of the patch moves the tg3_set_power_state() call
outside the critical section guarded by tg3_full_lock() and
tg3_full_unlock() functions.  The power state of the device is and
should be outside the lock's domain and all other
tg3_set_power_state() calls support this.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/tg3.c