Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: first version of budget-ci implementation



> > dvb_ca_en50221_link_init
> > dvb_ca_en50221_wait_if_status
> > STATUS: 43
>
> Er, weird! That status is printed just after the comms interface is reset.
> And its showing both a READ and a WRITE transfer error.... no data has been
> transferred at that point...
>
> > dvb_ca_en50221_wait_if_status succeeded timeout:0
> > dvb_ca_en50221_wait_if_status
> > STATUS: 43
> > dvb_ca_en50221_wait_if_status failed timeout:101
> > dvb_ca_en50221_read_data
> > dvb_ca: DVB CAM link initialisation failed :(
> >
> > I'm willing to continue testing as long as you're willing to send
> > patches. :-) I know C but I have no experience with this low level stuff
> > so I'm not sure how much I can help.
>
> Thanks, I'll try and think of something else to test...

Hmm, it isn't looking particularly hopeful unfortunately :( But... maybe its 
just not waiting long enough after the reset... the attached patch adds a 
huge delay just in case.
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;
1039a1047
>                                 dvb_delay(1000);

Home | Main Index | Thread Index