Module Name: src Committed By: riastradh Date: Sat Jul 9 18:11:47 UTC 2022
Modified Files: src/sys/external/bsd/drm2/linux: linux_hdmi.c Log Message: linux/hdmi: Zero entire union hdmi_infoframe on unpack. Don't just zero the part that we're about to initialize -- i915 does memcmp on the whole structure. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sys/external/bsd/drm2/linux/linux_hdmi.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/external/bsd/drm2/linux/linux_hdmi.c diff -u src/sys/external/bsd/drm2/linux/linux_hdmi.c:1.3 src/sys/external/bsd/drm2/linux/linux_hdmi.c:1.4 --- src/sys/external/bsd/drm2/linux/linux_hdmi.c:1.3 Sat Jul 9 18:11:36 2022 +++ src/sys/external/bsd/drm2/linux/linux_hdmi.c Sat Jul 9 18:11:47 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_hdmi.c,v 1.3 2022/07/09 18:11:36 riastradh Exp $ */ +/* $NetBSD: linux_hdmi.c,v 1.4 2022/07/09 18:11:47 riastradh Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_hdmi.c,v 1.3 2022/07/09 18:11:36 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_hdmi.c,v 1.4 2022/07/09 18:11:47 riastradh Exp $"); #include <sys/types.h> @@ -192,8 +192,6 @@ hdmi_audio_infoframe_unpack(struct hdmi_ const uint8_t *p = buf; int ret; - memset(frame, 0, sizeof(*frame)); - ret = hdmi_infoframe_header_unpack(&frame->header, p, size); if (ret) return ret; @@ -302,8 +300,6 @@ hdmi_avi_infoframe_unpack(struct hdmi_av const uint8_t *p = buf; int ret; - memset(frame, 0, sizeof(*frame)); - ret = hdmi_infoframe_header_unpack(&frame->header, p, size); if (ret) return ret; @@ -419,8 +415,6 @@ hdmi_drm_infoframe_unpack(struct hdmi_dr unsigned i; int ret; - memset(frame, 0, sizeof(*frame)); - ret = hdmi_infoframe_header_unpack(&frame->header, p, size); if (ret) return ret; @@ -512,8 +506,6 @@ hdmi_spd_infoframe_unpack(struct hdmi_sp const uint8_t *p = buf; int ret; - memset(frame, 0, sizeof(*frame)); - ret = hdmi_infoframe_header_unpack(&frame->header, p, size); if (ret) return ret; @@ -629,8 +621,6 @@ hdmi_vendor_infoframe_unpack(struct hdmi const uint8_t *p = buf; int ret; - memset(frame, 0, sizeof(*frame)); - ret = hdmi_infoframe_header_unpack(&frame->header, p, size); if (ret) return ret; @@ -702,6 +692,8 @@ hdmi_infoframe_unpack(union hdmi_infofra struct hdmi_infoframe_header header; int ret; + memset(frame, 0, sizeof(*frame)); + ret = hdmi_infoframe_header_unpack(&header, buf, size); if (ret) return ret;