Re: [PATCH] drm/edid: Don't repeatedly log hex dumps of bad EDIDsby default

From: Marcin Slusarz
Date: Sat Sep 18 2010 - 07:51:58 EST


On Fri, Sep 17, 2010 at 06:53:26PM -0400, Andy Walls wrote:
> On my system, every 10 seconds drm_edid_block_valid() gets called 4
> times by radeon_dvi_detect(). This results in 4 instances of a
> multi-line hex dump of the same EDID (non-)data being logged every 10
> seconds.
>
> Silence the hex dump from drm_edid_block_valid() unless a drm_debug
> module parameter flag is set.
>
> Signed-of-by: Andy Walls <awalls@xxxxxxxxxxxxxxxx>
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index dce5c4a..33a748c 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -173,9 +173,12 @@ drm_edid_block_valid(u8 *raw_edid)
>
> bad:
> if (raw_edid) {
> - DRM_ERROR("Raw EDID:\n");
> - print_hex_dump_bytes(KERN_ERR, DUMP_PREFIX_NONE, raw_edid, EDID_LENGTH);
> - printk("\n");
> + DRM_DEBUG("Raw EDID:\n");
> + if (drm_debug & DRM_UT_CORE) {
> + print_hex_dump_bytes(KERN_ERR, DUMP_PREFIX_NONE,
> + raw_edid, EDID_LENGTH);
> + printk("\n");
> + }
> }
> return 0;
> }
>

Why not print it only once on original error level?
Something like:
static bool printed = false;
if (!printed) {
...
printed = true;
}

It has the same effect for you (no spamming by default) and it's still provide some information.

Marcin

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/