Mailing List archive

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

[linux-dvb] Re: CRC32 errors in sections



Jeremy Hall wrote:
Hi,

In a quest to determine why the ARM is crashing during a section filter activity, I discovered I am getting several CRC32 checksum errors on sections, and thus they aren't being used, creating the appearance of a XRUN.

To combat this, I added DMX_CHECK_CRC to the section filter flags, but still continued to see the checksum errors.
The DMX_CHECK_CRC flag is not implemented for av7110 based cards right now. If you want to implement this follow the Budget codepath for an example.


What might be the cause of data corruption?
Buffer overflows because the host did not fetched the data fast enough or uncorrectable block errrors in the MPEG stream. Maybe even a firmware bug under high load.


When the driver gives you a section, does it at least sanity check the seclen to determine if it will make a memory out of bounds problem so it won't happily overwrite other memory?
The read() function call will never read more bytes than you specified in the argument, so you'll never overwrite more memory than you passed as read()-buffer.

Holger



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



Home | Main Index | Thread Index