[Intel-gfx] [PATCH 04/12] video/hmdi: Clear the whole incoming buffer, not just the infoframe size
Ville Syrjälä
ville.syrjala at linux.intel.com
Wed Aug 7 03:56:58 PDT 2013
On Tue, Aug 06, 2013 at 08:32:16PM +0100, Damien Lespiau wrote:
> If the user if this API is providing a bigger buffer than the infoframe
> size, it could be for a could reason. For instance it could be because
> it gives the buffer that will be written to the hardware, up to the
> maximum of an infoframe size.
>
> Instead of just zeroing up to the infoframe size, let's zero the whole
> incoming buffer as those extra bytes are also used to compute the
> ECC and need to be 0.
>
> Signed-off-by: Damien Lespiau <damien.lespiau at intel.com>
One concern that came to mind was someone needing to preserve the buffer
contents beyond the infoframe. But I guess if someone really needs to
do that, they can go and figure out the exact length of the infoframe
and pass that.
Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
> drivers/video/hdmi.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/video/hdmi.c b/drivers/video/hdmi.c
> index f7a85e5..635d569 100644
> --- a/drivers/video/hdmi.c
> +++ b/drivers/video/hdmi.c
> @@ -84,7 +84,7 @@ ssize_t hdmi_avi_infoframe_pack(struct hdmi_avi_infoframe *frame, void *buffer,
> if (size < length)
> return -ENOSPC;
>
> - memset(buffer, 0, length);
> + memset(buffer, 0, size);
>
> ptr[0] = frame->type;
> ptr[1] = frame->version;
> @@ -186,7 +186,7 @@ ssize_t hdmi_spd_infoframe_pack(struct hdmi_spd_infoframe *frame, void *buffer,
> if (size < length)
> return -ENOSPC;
>
> - memset(buffer, 0, length);
> + memset(buffer, 0, size);
>
> ptr[0] = frame->type;
> ptr[1] = frame->version;
> @@ -251,7 +251,7 @@ ssize_t hdmi_audio_infoframe_pack(struct hdmi_audio_infoframe *frame,
> if (size < length)
> return -ENOSPC;
>
> - memset(buffer, 0, length);
> + memset(buffer, 0, size);
>
> if (frame->channels >= 2)
> channels = frame->channels - 1;
> @@ -308,7 +308,7 @@ ssize_t hdmi_vendor_infoframe_pack(struct hdmi_vendor_infoframe *frame,
> if (size < length)
> return -ENOSPC;
>
> - memset(buffer, 0, length);
> + memset(buffer, 0, size);
>
> ptr[0] = frame->type;
> ptr[1] = frame->version;
> --
> 1.8.3.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel OTC
More information about the dri-devel
mailing list