A user of my program was having it return EIO on DQBUF calls with V4L2, and on VIDIOCMCAPTURE with V4L1. In the code, it seems like this only happens when video-buf is in STATE_ERROR. I'm really confused about what I could be doing wrong, this happens (apparently) right on application startup. The saa7134 driver used was saa7134-20030521.tar.gz plus kernel 2.4.20 patched with Apr 10 v4l2. Here is the dmesg log from the user's machine. Any thoughts on why I might be getting this error would really help. saa7130/34: v4l2 driver version 0.2.8 loaded PCI: Found IRQ 5 for device 00:0b.0 PCI: Sharing IRQ 5 with 00:02.2 saa7130[0]: found at 00:0b.0, rev: 1, irq: 5, latency: 32, mmio: 0xe5000000 saa7130[0]: subsystem: 1131:0000, board: LifeView FlyVIDEO2000 [card=3,insmod option] tuner: chip found @ 0xc2 tuner: type set to 37 (LG PAL (newer TAPC series)) i2c-core.o: client [LG PAL (newer TAPC series)] registered to adapter [saa7130[0]](pos. 0). i2c-core.o: adapter saa7130[0] registered as adapter 0. saa7130[0]: Huh, no eeprom present (err=-5)? saa7130[0]: flyvideo: gpio is 0x38500 saa7130[0]/video: set tv norm = PAL saa7130[0]/video: video input = 0 [Television] saa7130[0]/video: set tv norm = PAL saa7130[0]/audio: ctl_mute=1 automute=0 input=Television => mute=1 input=mute saa7130[0]/video: DCSDT: no signal saa7130[0]: registered device video0 [v4l2] saa7130[0]: registered device vbi0 saa7130[0]: registered device radio0 saa7130[0]/video: DCSDT: no signal saa7130[0]/video: open minor=0 radio=0 type=video-cap saa7130[0]/video: set tv norm = PAL saa7130[0]/video: video input = 0 [Television] saa7130[0]/video: set tv norm = PAL saa7130[0]/video: video input = 0 [Television] saa7130[0]/video: set tv norm = PAL saa7130[0]/video: set tv norm = PAL saa7130[0]/video: buffer_prepare [0,size=720x576,bytes=829440,fields=interlaced,4:2:2 packed, YUYV] saa7130[0]/video: buffer_prepare [1,size=720x576,bytes=829440,fields=interlaced,4:2:2 packed, YUYV] saa7130[0]/video: buffer_prepare [2,size=720x576,bytes=829440,fields=interlaced,4:2:2 packed, YUYV] saa7130[0]/video: buffer_prepare [3,size=720x576,bytes=829440,fields=interlaced,4:2:2 packed, YUYV] saa7130[0]/video: res: get 2 saa7130[0]/core: buffer_queue c6329cc0 saa7130[0]/video: buffer_activate buf=c6329cc0 saa7130[0]/video: prescale=1 xscale=1024 yscale=1024 saa7130[0]/video: yscale LPI yscale=1024 saa7130[0]/core: dmabits: task=0x01 ctrl=0x01 irq=0x3 split=yes saa7130[0]/core: buffer_queue c63292c0 saa7130[0]/core: buffer_queue c63296c0 saa7130[0]/core: buffer_queue c63299c0 saa7130[0]/video: video input = 1 [Composite1] saa7130[0]/video: set tv norm = PAL saa7130[0]/video: set tv norm = PAL saa7130[0]/core: timeout on c6329cc0 saa7130[0]/core: buffer_finish c6329cc0 saa7130[0]/core: buffer_next c63292c0 [prev=c6329a0c/next=c632930c] saa7130[0]/video: buffer_activate buf=c63292c0 saa7130[0]/video: prescale=1 xscale=1024 yscale=1024 saa7130[0]/video: yscale LPI yscale=1024 saa7130[0]/core: dmabits: task=0x01 ctrl=0x01 irq=0x3 split=yes saa7130[0]/core: buffer_next #2 prev=c6329a0c/next=c632970c saa7130[0]/core: timeout on c63292c0 saa7130[0]/core: buffer_finish c63292c0 saa7130[0]/core: buffer_next c63296c0 [prev=c6329a0c/next=c632970c] saa7130[0]/video: buffer_activate buf=c63296c0 saa7130[0]/video: prescale=1 xscale=1024 yscale=1024 saa7130[0]/video: yscale LPI yscale=1024 saa7130[0]/core: dmabits: task=0x01 ctrl=0x01 irq=0x3 split=yes saa7130[0]/core: buffer_next #2 prev=c6329a0c/next=c6329a0c saa7130[0]/core: timeout on c63296c0 saa7130[0]/core: buffer_finish c63296c0 saa7130[0]/core: buffer_next c63299c0 [prev=c6329a0c/next=c6329a0c] saa7130[0]/video: buffer_activate buf=c63299c0 saa7130[0]/video: prescale=1 xscale=1024 yscale=1024 saa7130[0]/video: yscale LPI yscale=1024 saa7130[0]/core: dmabits: task=0x01 ctrl=0x01 irq=0x3 split=yes saa7130[0]/core: buffer_next #2 prev=c1654d1c/next=c1654d1c saa7130[0]/core: timeout on c63299c0 saa7130[0]/core: buffer_finish c63299c0 saa7130[0]/core: buffer_next 00000000 saa7130[0]/core: dmabits: task=0x00 ctrl=0x00 irq=0x0 split=yes saa7130[0]/video: res: put 2 -Billy