V4L/DVB: ngene: Do not call demuxer with interrupts disabled

It is neither a good idea nor necessary to call the demuxer with interrupts disabled.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Oliver Endriss 2010-05-16 05:17:49 -03:00 committed by Mauro Carvalho Chehab
parent 9d78f46071
commit eb05d155bc

View File

@ -147,24 +147,24 @@ static void demux_tasklet(unsigned long data)
} else { } else {
if (chan->HWState == HWSTATE_RUN) { if (chan->HWState == HWSTATE_RUN) {
u32 Flags = 0; u32 Flags = 0;
IBufferExchange *exch1 = chan->pBufferExchange;
IBufferExchange *exch2 = chan->pBufferExchange2;
if (Cur->ngeneBuffer.SR.Flags & 0x01) if (Cur->ngeneBuffer.SR.Flags & 0x01)
Flags |= BEF_EVEN_FIELD; Flags |= BEF_EVEN_FIELD;
if (Cur->ngeneBuffer.SR.Flags & 0x20) if (Cur->ngeneBuffer.SR.Flags & 0x20)
Flags |= BEF_OVERFLOW; Flags |= BEF_OVERFLOW;
if (chan->pBufferExchange) spin_unlock_irq(&chan->state_lock);
chan->pBufferExchange(chan, if (exch1)
Cur->Buffer1, exch1(chan, Cur->Buffer1,
chan-> chan->Capture1Length,
Capture1Length, Cur->ngeneBuffer.SR.Clock,
Cur->ngeneBuffer. Flags);
SR.Clock, Flags); if (exch2)
if (chan->pBufferExchange2) exch2(chan, Cur->Buffer2,
chan->pBufferExchange2(chan, chan->Capture2Length,
Cur->Buffer2, Cur->ngeneBuffer.SR.Clock,
chan-> Flags);
Capture2Length, spin_lock_irq(&chan->state_lock);
Cur->ngeneBuffer.
SR.Clock, Flags);
} else if (chan->HWState != HWSTATE_STOP) } else if (chan->HWState != HWSTATE_STOP)
chan->HWState = HWSTATE_RUN; chan->HWState = HWSTATE_RUN;
} }