This is an automatic generated email to let you know that the following patch 
were queued at the 
http://git.linuxtv.org/v4l-dvb.git tree:

Subject: V4L/DVB: ngene: Do not call demuxer with interrupts disabled
Author:  Oliver Endriss <[email protected]>
Date:    Sun May 16 05:17:49 2010 -0300

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

Signed-off-by: Oliver Endriss <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 drivers/media/dvb/ngene/ngene-core.c |   28 ++++++++++++++--------------
 1 files changed, 14 insertions(+), 14 deletions(-)

---

http://git.linuxtv.org/v4l-dvb.git?a=commitdiff;h=0ef919adda02d49b353fcf23fe721e231d02ff5c

diff --git a/drivers/media/dvb/ngene/ngene-core.c 
b/drivers/media/dvb/ngene/ngene-core.c
index c8b4dfa..46749d6 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)
                } 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;
                }

_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to