[linux-dvb] Kernel locking in dst

Manu Abraham abraham.manu at gmail.com
Tue Oct 18 18:33:03 CEST 2005

On 10/18/05, Sigmund Augdal Helberg <sigmund at snap.tv> wrote:
> On Tue, 2005-10-18 at 14:39 +0200, Henrik Sjoberg wrote:
> > Hi,
> >
> > I am playing a bit with getting MythTV to talk high level CI. However, I
> > have come to a problem in the dst/dst_ca drivers. MythTV have different
> > threads running for tuning frequency and doing ca-stuff. This makes me
> get
> > simultaneous frontend and ca calls device. However, in the dst driver
> > these two things both end up in i2c communiation with the card which
> > interfere with each other.
> >
> > As you can understand this does not work good since there are no locking
> > mechanism in dst. Is this something that is to go into the driver or
> > something that should be done on a higher level (e.g. between all
> > components in an dvb-adapter)? I guess it should be taken care of by the
> > driver, since it is the only one that knows when locking is needed, but
> I
> > just want to check.
> I've played around to make vlc speak high level CI. I have code that I'm
> fairly confident makes correct capmt messages, but it only works once in
> a while. I have all sorts of strange behaviour. Some times the system
> gets in a state where tuning does not work (no calls report any errors,
> but the received mux does not change). unloading and reloading the
> driver fixes this. Some times the dst.session struct get messed up so
> that the dst_ca belive has_session is set while it actually is not. And
> even other times the cam or card or smartcard or something gets stuck in
> a state where any call to the ca device return just garbage. This
> sometimes solves itself after a minute or two, and other times I need a
> cold boot to get it working again. I was under the impression that this
> had to be caused by a memory corrution caused by a buffer overflow in
> the i2c trafic(because increasing the size *_buf fields in the state
> struct stoped the has session flag from being corrupted, but perhaps
> this is the cause of my problems as well?

Few weeks back, i had fixed a possible buffer overlow situation, Are you
talking about that ? If you are not with the updated with the latest change.
Well that was the last change that i had..
Maybe you can check it again, incase you are not updated with the latest.
Maybe you can try the patch too, to check whether it helps you in some

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.linuxtv.org/pipermail/linux-dvb/attachments/20051018/b5cf608e/attachment-0001.htm

More information about the linux-dvb mailing list