[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>
This commit is contained in:
parent
100c467330
commit
f475f163f1
1 changed files with 4 additions and 0 deletions
|
@ -6468,6 +6468,9 @@ static void tg3_timer(unsigned long __opaque)
|
||||||
{
|
{
|
||||||
struct tg3 *tp = (struct tg3 *) __opaque;
|
struct tg3 *tp = (struct tg3 *) __opaque;
|
||||||
|
|
||||||
|
if (tp->irq_sync)
|
||||||
|
goto restart_timer;
|
||||||
|
|
||||||
spin_lock(&tp->lock);
|
spin_lock(&tp->lock);
|
||||||
|
|
||||||
if (!(tp->tg3_flags & TG3_FLAG_TAGGED_STATUS)) {
|
if (!(tp->tg3_flags & TG3_FLAG_TAGGED_STATUS)) {
|
||||||
|
@ -6558,6 +6561,7 @@ static void tg3_timer(unsigned long __opaque)
|
||||||
|
|
||||||
spin_unlock(&tp->lock);
|
spin_unlock(&tp->lock);
|
||||||
|
|
||||||
|
restart_timer:
|
||||||
tp->timer.expires = jiffies + tp->timer_offset;
|
tp->timer.expires = jiffies + tp->timer_offset;
|
||||||
add_timer(&tp->timer);
|
add_timer(&tp->timer);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue