Hi Alexander,
We ran into the exact same problem when removing the kfir module.
The symptoms were:
1. you could capture 1 good mpeg2 after a reboot, thereinafter no mpeg2 could be
displayed with an mpeg2 player (but we could still get a datastream).
2. Long delay after you hit Ctrl-C with the 'cat /dev/video0 > test.mpg' (3-4 seconds)
2. kernel crashes when you remove kfir module
The problem appears to be a bug in the kfir module in kfir.c at line 2631.
The function is:
static void kfir_remove_device(struct kfir_dev *kfir)
the troublesome lines of code are
val=rplxl(DMA0_DONE_ENABLE);
val&=~DMA0_DONE_ENABLE;
wplxl(DMA0_DONE_ENABLE, val);
change these to
val=rplxl(PLX9054_DMA0_MODE );
val&=~DMA0_DONE_ENABLE;
wplxl(PLX9054_DMA0_MODE , val);
Quite frankly, I can't see how the current code could have ever worked!
Hope this fixes your problem.