Commit c8a38b29 authored by David S. Miller's avatar David S. Miller

[SUNGEM]: Fix locking in gem_interrupt().

Do not release lock unless actually taken.
Noticed by Eric Lemoine.
Signed-off-by: default avatarDavid S. Miller <davem@redhat.com>
parent 455aef82
......@@ -808,16 +808,16 @@ static irqreturn_t gem_interrupt(int irq, void *dev_id, struct pt_regs *regs)
if (gem_status & GREG_STAT_ABNORMAL) {
if (gem_abnormal_irq(dev, gp, gem_status))
goto out;
goto out_unlock;
}
if (gem_status & (GREG_STAT_TXALL | GREG_STAT_TXINTME))
gem_tx(dev, gp, gem_status);
if (gem_status & GREG_STAT_RXDONE)
gem_rx(gp);
out:
out_unlock:
spin_unlock(&gp->lock);
out:
return IRQ_HANDLED;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment