diff options
author | Michael Chan <mchan@broadcom.com> | 2006-03-28 02:20:14 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-03-28 20:02:39 -0500 |
commit | f475f163f128a0d9c92dfa90bcb5953fd8f9766f (patch) | |
tree | 877ee6c922e8596a185339599acb0efb6e615ac6 /drivers/net/tg3.c | |
parent | 100c4673307f5806788791b9b886877c806afd96 (diff) |
[TG3]: Skip timer code during full lock
Skip the main timer code if interrupts are disabled in the full lock
state.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/tg3.c')
-rw-r--r-- | drivers/net/tg3.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index c504ff29d44c..b6a6051db77a 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c | |||
@@ -6468,6 +6468,9 @@ static void tg3_timer(unsigned long __opaque) | |||
6468 | { | 6468 | { |
6469 | struct tg3 *tp = (struct tg3 *) __opaque; | 6469 | struct tg3 *tp = (struct tg3 *) __opaque; |
6470 | 6470 | ||
6471 | if (tp->irq_sync) | ||
6472 | goto restart_timer; | ||
6473 | |||
6471 | spin_lock(&tp->lock); | 6474 | spin_lock(&tp->lock); |
6472 | 6475 | ||
6473 | if (!(tp->tg3_flags & TG3_FLAG_TAGGED_STATUS)) { | 6476 | if (!(tp->tg3_flags & TG3_FLAG_TAGGED_STATUS)) { |
@@ -6558,6 +6561,7 @@ static void tg3_timer(unsigned long __opaque) | |||
6558 | 6561 | ||
6559 | spin_unlock(&tp->lock); | 6562 | spin_unlock(&tp->lock); |
6560 | 6563 | ||
6564 | restart_timer: | ||
6561 | tp->timer.expires = jiffies + tp->timer_offset; | 6565 | tp->timer.expires = jiffies + tp->timer_offset; |
6562 | add_timer(&tp->timer); | 6566 | add_timer(&tp->timer); |
6563 | } | 6567 | } |