mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-22 22:39:20 +07:00
3c613a3bdd
The DSI encoder sets dssdev->ops->dsi.set_config, which is stored at the
same offset as dssdev->ops->hdmi.set_hdmi_mode. The code in omap_encoder
only checks if dssdev->ops->hdmi.set_hdmi_mode is NULL. Due to the way
union works, it won't be NULL if dsi.set_config is set. This means
dsi_set_config will be called with config=hdmi_mode=false=NULL parameter
resulting in a NULL dereference. Also the dereference happens while
console is locked, so kernel hangs without any debug output without
"fb.lockless_register_fb=1" parameter.
This restructures the code, so that the HDMI mode is only configured
for HDMI output types.
Fixes:
|
||
---|---|---|
.. | ||
displays | ||
dss | ||
Kconfig | ||
Makefile | ||
omap_connector.c | ||
omap_connector.h | ||
omap_crtc.c | ||
omap_crtc.h | ||
omap_debugfs.c | ||
omap_dmm_priv.h | ||
omap_dmm_tiler.c | ||
omap_dmm_tiler.h | ||
omap_drv.c | ||
omap_drv.h | ||
omap_encoder.c | ||
omap_encoder.h | ||
omap_fb.c | ||
omap_fb.h | ||
omap_fbdev.c | ||
omap_fbdev.h | ||
omap_gem_dmabuf.c | ||
omap_gem.c | ||
omap_gem.h | ||
omap_irq.c | ||
omap_irq.h | ||
omap_plane.c | ||
omap_plane.h | ||
tcm-sita.c | ||
tcm.h | ||
TODO |