On Tuesday 04 July 2006 22:04, Oliver Endriss wrote: > Andrew de Quincey wrote: > > On Tuesday 04 July 2006 19:21, Oliver Endriss wrote: > > > You might try the following: > > > Copy the code of stop_ts_capture and start_ts_capture into your > > > budget_fix_feed routine, replacing the calls to stop_ts_capture and > > > start_ts_capture. > > > > > > Then disable lines of the copied code until you can identify the lines > > > which are essential to fix the problem. > > > > > > That should give us a hint what is going on here. > > > > Sure, I reduced it to: > > > > saa7146_write(budget->dev, MC1, MASK_20); // DMA3 off > > saa7146_write(budget->dev, MC1, (MASK_04 | MASK_20)); /* DMA3 on */ > > Hm - this means that DMA3 has either not been started or is stuck. > > Does it make a difference if you add both lines at the end of > start_ts_capture? Nope no difference. I'd already tried this by stopping+starting dvbtraffic before I tuned... it doesn't help (I did try again tho adding the code to the driver to make sure). To recap: 1) start dvbtraffic -- IRQs are received from the saa7146. 2) tune and lock -- The IRQs suddenly halt for no reason. 3) restart dvbtraffic -- IRQs start again and everything works fine thereafter. And all only the very first time DMA is started on cold boot. _______________________________________________ linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb