mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-09 14:50:19 +00:00
media: dvb-core: allow users to enable DVB net ULE debug
This debug option is there for a long time, but it is only enabled by editing the source code. Due to that, a breakage inside its code was only noticed years after a change at the ULE handling logic. Make it a Kconfig parameter, as it makes easier for advanced users to enable, and allow test if the compilation won't be broken in the future. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
parent
b93a25e120
commit
ba711e1cee
@ -40,3 +40,16 @@ config DVB_DEMUX_SECTION_LOSS_LOG
|
|||||||
be very verbose.
|
be very verbose.
|
||||||
|
|
||||||
If you are unsure about this, say N here.
|
If you are unsure about this, say N here.
|
||||||
|
|
||||||
|
config DVB_ULE_DEBUG
|
||||||
|
bool "Enable DVB net ULE packet debug messages"
|
||||||
|
depends on DVB_CORE
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
Enable extra log messages meant to detect problems while
|
||||||
|
handling DVB network ULE packet loss inside the Kernel.
|
||||||
|
|
||||||
|
Should not be enabled on normal cases, as logs can
|
||||||
|
be very verbose.
|
||||||
|
|
||||||
|
If you are unsure about this, say N here.
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
* Competence Center for Advanced Satellite Communications.
|
* Competence Center for Advanced Satellite Communications.
|
||||||
* Bugfixes and robustness improvements.
|
* Bugfixes and robustness improvements.
|
||||||
* Filtering on dest MAC addresses, if present (D-Bit = 0)
|
* Filtering on dest MAC addresses, if present (D-Bit = 0)
|
||||||
* ULE_DEBUG compile-time option.
|
* DVB_ULE_DEBUG compile-time option.
|
||||||
* Apr 2006: cp v3: Bugfixes and compliency with RFC 4326 (ULE) by
|
* Apr 2006: cp v3: Bugfixes and compliency with RFC 4326 (ULE) by
|
||||||
* Christian Praehauser <cpraehaus@cosy.sbg.ac.at>,
|
* Christian Praehauser <cpraehaus@cosy.sbg.ac.at>,
|
||||||
* Paris Lodron University of Salzburg.
|
* Paris Lodron University of Salzburg.
|
||||||
@ -78,12 +78,9 @@ static inline __u32 iov_crc32( __u32 c, struct kvec *iov, unsigned int cnt )
|
|||||||
|
|
||||||
#define DVB_NET_MULTICAST_MAX 10
|
#define DVB_NET_MULTICAST_MAX 10
|
||||||
|
|
||||||
#undef ULE_DEBUG
|
#ifdef DVB_ULE_DEBUG
|
||||||
|
|
||||||
#ifdef ULE_DEBUG
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The code inside ULE_DEBUG keeps a history of the
|
* The code inside DVB_ULE_DEBUG keeps a history of the
|
||||||
* last 100 TS cells processed.
|
* last 100 TS cells processed.
|
||||||
*/
|
*/
|
||||||
static unsigned char ule_hist[100*TS_SZ] = { 0 };
|
static unsigned char ule_hist[100*TS_SZ] = { 0 };
|
||||||
@ -93,7 +90,6 @@ static void hexdump(const unsigned char *buf, unsigned short len)
|
|||||||
{
|
{
|
||||||
print_hex_dump_debug("", DUMP_PREFIX_OFFSET, 16, 1, buf, len, true);
|
print_hex_dump_debug("", DUMP_PREFIX_OFFSET, 16, 1, buf, len, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct dvb_net_priv {
|
struct dvb_net_priv {
|
||||||
@ -333,7 +329,7 @@ static int dvb_net_ule_new_ts_cell(struct dvb_net_ule_handle *h)
|
|||||||
{
|
{
|
||||||
/* We are about to process a new TS cell. */
|
/* We are about to process a new TS cell. */
|
||||||
|
|
||||||
#ifdef ULE_DEBUG
|
#ifdef DVB_ULE_DEBUG
|
||||||
if (ule_where >= &ule_hist[100*TS_SZ])
|
if (ule_where >= &ule_hist[100*TS_SZ])
|
||||||
ule_where = ule_hist;
|
ule_where = ule_hist;
|
||||||
memcpy(ule_where, h->ts, TS_SZ);
|
memcpy(ule_where, h->ts, TS_SZ);
|
||||||
@ -672,7 +668,7 @@ static void dvb_net_ule_check_crc(struct dvb_net_ule_handle *h,
|
|||||||
h->ts_remain > 2 ?
|
h->ts_remain > 2 ?
|
||||||
*(unsigned short *)h->from_where : 0);
|
*(unsigned short *)h->from_where : 0);
|
||||||
|
|
||||||
#ifdef ULE_DEBUG
|
#ifdef DVB_ULE_DEBUG
|
||||||
hexdump(iov[0].iov_base, iov[0].iov_len);
|
hexdump(iov[0].iov_base, iov[0].iov_len);
|
||||||
hexdump(iov[1].iov_base, iov[1].iov_len);
|
hexdump(iov[1].iov_base, iov[1].iov_len);
|
||||||
hexdump(iov[2].iov_base, iov[2].iov_len);
|
hexdump(iov[2].iov_base, iov[2].iov_len);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user