aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/tg3.c
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2006-03-28 02:20:14 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-28 20:02:39 -0500
commitf475f163f128a0d9c92dfa90bcb5953fd8f9766f (patch)
tree877ee6c922e8596a185339599acb0efb6e615ac6 /drivers/net/tg3.c
parent100c4673307f5806788791b9b886877c806afd96 (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.c4
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
6564restart_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}