- From: Blacker, Phil M <phil.blacker_at_atkinsglobal.com>
- Date: Tue, 7 Dec 2004 08:32:01 -0000
>On Monday 06 December 2004 03:51 am, you wrote:
>>
>>
>> Do you want me to do a patch for the change to ni_mio_common.c?
>>
>
>Sure.
This is a very simple patch to cover the case when the fifo is nearly full
when
ni_handle_fifo_half_full() is called and the buffer fills over half full
again before
The interrupt is fully processed. This would cause the card to stop
supplying data.
It does 1 extra call to ni_handle_fifo_half_full() if the status bit is
still set.
If the buffer is over half full after these two reads it is filling faster
than we can
read it, it is this case that could cause a lock up if I looped
on ni_handle_fifo_half_full().
Phil
--- ni_mio_common.c.orig 2004-12-07 08:17:13.400274888 +0000
+++ ni_mio_common.c 2004-12-07 08:13:57.619038160 +0000
_at__at_ -623,6 +623,8 _at__at_
#ifndef PCIDMA
if(status&AI_FIFO_Half_Full_St){
ni_handle_fifo_half_full(dev);
+ if(win_in(AI_Status_1_Register)&AI_FIFO_Half_Full_St)
+ ni_handle_fifo_half_full(dev);
}
#endif // !PCIDMA
This email and any attached files are confidential and copyright protected.
If you are not the addressee, any dissemination of this communication is
strictly prohibited. Unless otherwise expressly agreed in writing, nothing
stated in this communication shall be legally binding.
Received on 2004-12-07Z08:32:01