> Oh dear, this is the sort of thing that Robert was seeing with the Zetacam. > > Its odd that the first wait_if_status works though. Attached is another > patch which will just ignore if a timeout occurs and try to keep going. > It'll probably claim the CAM is initialised OK, but it might not _actually_ > be, so can you give a full debug dmesg again with this one... ta. > > > I did notice that CPU utilization jumps to 100 % after loading the > > modules. This is what top tells me: > > Thanks, I'll look into that.
Actually, please ignore the dvb-en50221-ignoretimeout.patch and try this one instead; I've added more debugging. I've CCed this message directly to you 'cos the list seems to be starting to play up again; the original of this message still hasn't appeared on it.
Index: linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c =================================================================== RCS file: /cvs/linuxtv/dvb-kernel/linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c,v retrieving revision 1.2 diff -r1.2 dvb_ca_en50221.c 275a276 > printk("STATUS: %x\n", res); 281a283 > printk("STATUS: %x\n", res); 319a322,323 > dvb_delay(100); > 326c330,331 < if ((ret = dvb_ca_en50221_wait_if_status(ca, slot, STATUSREG_DA, HZ/10)) != 0) return ret; --- > // if ((ret = dvb_ca_en50221_wait_if_status(ca, slot, STATUSREG_DA, HZ/10)) != 0) return ret; > dvb_ca_en50221_wait_if_status(ca, slot, STATUSREG_DA, HZ/10); 331a337 > printk("CAM SENT BUF SIZE: %i\n", buf_size) 340c346,347 < if ((ret = dvb_ca_en50221_wait_if_status(ca, slot, STATUSREG_FR, HZ/10)) != 0) return ret; --- > // if ((ret = dvb_ca_en50221_wait_if_status(ca, slot, STATUSREG_FR, HZ/10)) != 0) return ret; > dvb_ca_en50221_wait_if_status(ca, slot, STATUSREG_FR, HZ/10); 587c594 < goto exit; --- > // goto exit;