aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb
diff options
context:
space:
mode:
authorOliver Endriss <o.endriss@gmx.de>2010-05-16 04:17:49 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-06-01 00:20:10 -0400
commiteb05d155bc9f51ff701c09bc9b5e4b4f5a4b4d9f (patch)
tree3b09f3f714b3b958e896782cb7895123932bc931 /drivers/media/dvb
parent9d78f46071b2cbc91eaf533e1ea441af36eed06a (diff)
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>
Diffstat (limited to 'drivers/media/dvb')
-rw-r--r--drivers/media/dvb/ngene/ngene-core.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/drivers/media/dvb/ngene/ngene-core.c b/drivers/media/dvb/ngene/ngene-core.c
index c8b4dfa0ab5..46749d6ef1e 100644
--- a/drivers/media/dvb/ngene/ngene-core.c
+++ b/drivers/media/dvb/ngene/ngene-core.c
@@ -147,24 +147,24 @@ static void demux_tasklet(unsigned long data)
147 } else { 147 } else {
148 if (chan->HWState == HWSTATE_RUN) { 148 if (chan->HWState == HWSTATE_RUN) {
149 u32 Flags = 0; 149 u32 Flags = 0;
150 IBufferExchange *exch1 = chan->pBufferExchange;
151 IBufferExchange *exch2 = chan->pBufferExchange2;
150 if (Cur->ngeneBuffer.SR.Flags & 0x01) 152 if (Cur->ngeneBuffer.SR.Flags & 0x01)
151 Flags |= BEF_EVEN_FIELD; 153 Flags |= BEF_EVEN_FIELD;
152 if (Cur->ngeneBuffer.SR.Flags & 0x20) 154 if (Cur->ngeneBuffer.SR.Flags & 0x20)
153 Flags |= BEF_OVERFLOW; 155 Flags |= BEF_OVERFLOW;
154 if (chan->pBufferExchange) 156 spin_unlock_irq(&chan->state_lock);
155 chan->pBufferExchange(chan, 157 if (exch1)
156 Cur->Buffer1, 158 exch1(chan, Cur->Buffer1,
157 chan-> 159 chan->Capture1Length,
158 Capture1Length, 160 Cur->ngeneBuffer.SR.Clock,
159 Cur->ngeneBuffer. 161 Flags);
160 SR.Clock, Flags); 162 if (exch2)
161 if (chan->pBufferExchange2) 163 exch2(chan, Cur->Buffer2,
162 chan->pBufferExchange2(chan, 164 chan->Capture2Length,
163 Cur->Buffer2, 165 Cur->ngeneBuffer.SR.Clock,
164 chan-> 166 Flags);
165 Capture2Length, 167 spin_lock_irq(&chan->state_lock);
166 Cur->ngeneBuffer.
167 SR.Clock, Flags);
168 } else if (chan->HWState != HWSTATE_STOP) 168 } else if (chan->HWState != HWSTATE_STOP)
169 chan->HWState = HWSTATE_RUN; 169 chan->HWState = HWSTATE_RUN;
170 } 170 }