Mailing List archive

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

[linux-dvb] Re: Nebula installation and nxt6000 fault



Gerd Knorr wrote:
This bug is caused by the i2c hardware write routine in
the bttv driver. It can't handle writing a zero length
message to an i2c address.

The kernel shouldn't oops on that, but I think zero-length
writes are not allowed.  At least the bt878 can't do that in
hardware and the specs say:

	"An I2C write transaction consists of sending a
	START signal, 2 or 3 bytes of data ... "

(the "2 or 3 bytes" include the i2c address, i.e. that
means 1 or 2 data bytes).

I can catch zero-length writes and return -EINVAL, would that help?
:) yes, - in any case the i2c driver should never hang just because somebody passed invalid messages...

We don't know how to identify the sp8872 used in the Microtune frontend, the sp8870 in the Alps TDLB7 frontend and the cx22700 in the Alps TDMB7 - these don't have an id-register. At least the Microtune frontend is used in conjunction with the bt8xx on the Avermedia DVB-T cards.

We could initiate a dummy-read and check whether this gets acknowledged, but then these 3 frontend drivers need to get changed. Anybody with an Avermedia DVB-T card willing to contribute this change?

Holger



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



Home | Main Index | Thread Index