Mailing List archive

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

[linux-dvb] Re: Avermedia DVB-T oops



Jamie Honan wrote:
On Sun, Nov 09, 2003 at 10:52:07AM +1000, Wayne Parrott wrote:

Although that seems like a good change it didn't fix the problem.
I have tried calling printk to see the data in sp887x_firm and the oops happens on the printk line so I am sure it has something to do with that variable.
BTW shouldn't the BUFSIZE problem be causing a seg fault for everyone else? or is kernel mode unprotected or something?

The declaration for integer i on the stack following probably
has something to do with it.

I notice that sp887x_initial_setup called from an ioctl init,
yet the declaration for sp887x_firm is __devinit in sp887x_firm.h.

Either the __devinit has to be removed, or firmware uploaded inside
another compatible function when the module is loaded.
the __devinit flag remains from a time where the firmware was loaded at module initialisation time. This has changed since it caused modprobe to hang for a few seconds under some circuimstances and caused oopses if the USB device was removed while modprobing the driver. I would vote for removing the __devinit flag.

Hmm, this module is also marked GPL, with the firmware embedded
as data ....
:) feel free to implement the firmware loader code - this driver was a quick hack to get things running...


As to why no-one else has seen this:

At the moment, DVB in Linux presents considerable challenges
for an ordinary user. The whole szap/tzap / scan thing needs
to be reworked.
scan/szap/czap/tzap were written as example code and never intended to act as production tools or enduser tools. We needed a few simple programs that are verbose and simple enough to trace installation problems - nobody expects you to use this code in everyday use.

And we wanted to provide a reference implementation to show how the API could be used.

What I have in mind is a library that can do pretty much what
scan / zap does. That library can then be used by GUI's,
command line tools, scripting languages, dialog style tools etc. Or does such a beast exist and I've missed it?
there exist some approaches like this: the Metzlerbros libdvb (http://www.metzlerbros.org/dvb/index.html), the dvbsak project on sourceforge (http://dvbsak.sourceforge.net/), libdvb++ in the dbox2 project (http://cvs.tuxbox.org/cgi-bin/viewcvs.cgi/tuxbox/apps/dvb/libdvb%2B%2B/). But none of them has been widely accepted in the past, as far I know none of them is used by a really big project yet...

Usually it does not makes much sense to write a killer library without the background of a killer application -- you should not encapsulate things without the need for abstraction, otherwise you'll have to work hard later when you have to access functionality that has been 'abstracted away' because the library designer tagged it as 'non-important for highlevel developers'.

Holger



--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index