drm/edid: fixed the bug that hdr metadata was not reset
authorfeijuan.li <feijuan.li@samsung.com>
Wed, 14 May 2025 06:35:11 +0000 (14:35 +0800)
committerJani Nikula <jani.nikula@intel.com>
Mon, 19 May 2025 09:26:08 +0000 (12:26 +0300)
When DP connected to a device with HDR capability,
the hdr structure was filled.Then connected to another
sink device without hdr capability, but the hdr info
still exist.

Fixes: e85959d6cbe0 ("drm: Parse HDR metadata info from EDID")
Cc: <stable@vger.kernel.org> # v5.3+
Signed-off-by: "feijuan.li" <feijuan.li@samsung.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Link: https://lore.kernel.org/r/20250514063511.4151780-1-feijuan.li@samsung.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/drm_edid.c

index 13bc4c290b17d556d654b7cdd8c48c24a32aba9c..9edb3247c767b8707800258ca30a124ff6ac5b7e 100644 (file)
@@ -6596,6 +6596,7 @@ static void drm_reset_display_info(struct drm_connector *connector)
        info->has_hdmi_infoframe = false;
        info->rgb_quant_range_selectable = false;
        memset(&info->hdmi, 0, sizeof(info->hdmi));
+       memset(&connector->hdr_sink_metadata, 0, sizeof(connector->hdr_sink_metadata));
 
        info->edid_hdmi_rgb444_dc_modes = 0;
        info->edid_hdmi_ycbcr444_dc_modes = 0;