aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-10-03 12:18:17 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-10-03 12:18:17 -0400
commit95b866d5afcafee00fc9ad70665e48c86d8c4e0f (patch)
tree2e6521929f791b047e3ab8ab259d9247f1488f86
parentb5ff7df3df9efab511244d5a299fce706c71af48 (diff)
e1000e: Fix incorrect debug warning
Doing 'WARN_ON(preempt_count())' was horribly horribly wrong, and would cause tons of warnings at bootup if PREEMPT was enabled because the initcalls currently run with the kernel lock, which increments the preempt count. At the same time, the warning was also insufficient, since it didn't check that interrupts were enabled. The proper debug function to use for something that can sleep and wants a warning if it's called in the wrong context is 'might_sleep()'. Reported-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/net/e1000e/ich8lan.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c
index 0b6095ba3ce9..bcd2bc477af2 100644
--- a/drivers/net/e1000e/ich8lan.c
+++ b/drivers/net/e1000e/ich8lan.c
@@ -396,7 +396,7 @@ static s32 e1000_acquire_swflag_ich8lan(struct e1000_hw *hw)
396 u32 extcnf_ctrl; 396 u32 extcnf_ctrl;
397 u32 timeout = PHY_CFG_TIMEOUT; 397 u32 timeout = PHY_CFG_TIMEOUT;
398 398
399 WARN_ON(preempt_count()); 399 might_sleep();
400 400
401 if (!mutex_trylock(&nvm_mutex)) { 401 if (!mutex_trylock(&nvm_mutex)) {
402 WARN(1, KERN_ERR "e1000e mutex contention. Owned by pid %d\n", 402 WARN(1, KERN_ERR "e1000e mutex contention. Owned by pid %d\n",