From 7e7d3de8850ae477ec192e3eda8ec84cec36e1c6 Mon Sep 17 00:00:00 2001 From: Oliver Endriss Date: Sun, 16 May 2010 05:17:49 -0300 Subject: [PATCH] --- yaml --- r: 199931 b: refs/heads/master c: eb05d155bc9f51ff701c09bc9b5e4b4f5a4b4d9f h: refs/heads/master i: 199929: d6e7d46fa5cf219e1559306f32b606290765dd53 199927: bce85fcedf67c94ccb7bfd77e4c2851b0ff60deb v: v3 --- [refs] | 2 +- trunk/drivers/media/dvb/ngene/ngene-core.c | 28 +++++++++++----------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/[refs] b/[refs] index 08f7f26b2fd6..64b64e1d2bfc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9d78f46071b2cbc91eaf533e1ea441af36eed06a +refs/heads/master: eb05d155bc9f51ff701c09bc9b5e4b4f5a4b4d9f diff --git a/trunk/drivers/media/dvb/ngene/ngene-core.c b/trunk/drivers/media/dvb/ngene/ngene-core.c index c8b4dfa0ab5f..46749d6ef1ee 100644 --- a/trunk/drivers/media/dvb/ngene/ngene-core.c +++ b/trunk/drivers/media/dvb/ngene/ngene-core.c @@ -147,24 +147,24 @@ static void demux_tasklet(unsigned long data) } else { if (chan->HWState == HWSTATE_RUN) { u32 Flags = 0; + IBufferExchange *exch1 = chan->pBufferExchange; + IBufferExchange *exch2 = chan->pBufferExchange2; if (Cur->ngeneBuffer.SR.Flags & 0x01) Flags |= BEF_EVEN_FIELD; if (Cur->ngeneBuffer.SR.Flags & 0x20) Flags |= BEF_OVERFLOW; - if (chan->pBufferExchange) - chan->pBufferExchange(chan, - Cur->Buffer1, - chan-> - Capture1Length, - Cur->ngeneBuffer. - SR.Clock, Flags); - if (chan->pBufferExchange2) - chan->pBufferExchange2(chan, - Cur->Buffer2, - chan-> - Capture2Length, - Cur->ngeneBuffer. - SR.Clock, Flags); + spin_unlock_irq(&chan->state_lock); + if (exch1) + exch1(chan, Cur->Buffer1, + chan->Capture1Length, + Cur->ngeneBuffer.SR.Clock, + Flags); + if (exch2) + exch2(chan, Cur->Buffer2, + chan->Capture2Length, + Cur->ngeneBuffer.SR.Clock, + Flags); + spin_lock_irq(&chan->state_lock); } else if (chan->HWState != HWSTATE_STOP) chan->HWState = HWSTATE_RUN; }