mirror of https://gitee.com/openkylin/linux.git
- sun4i: tcon->panel NULL deref protections (Giulio)
Cc: Giulio Benetti <giulio.benetti@micronovasrl.com> -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEfxcpfMSgdnQMs+QqlvcN/ahKBwoFAlvjTQkACgkQlvcN/ahK BwpL+wf+ITKd7UR4xKsmAOaq5quKIAFgJQ6A/TSYo/v/B+rK8e+VwgCX7ZBNvZpW XEFH16UP3k7Rp6IdA+2fLuzanMUabsM2tW9oLXBPdptkuCIw7/gKB6SmIEnAmX5/ GcidGEPQ2V+uYaPZ+KL7U/ETwIBPyznAMmQrcDKfxpXDp6A2g1J62lP6FWUhJVbM LfD5vTgCwXAUoMJVnZ0miBaf0d2nyUH2YwzDhQtc2+NPZ5W6wDpUEcqDL5fFMYXG 6i+jLpaSWC2R9VmlHRKosojUrhDMvjvN5kC0TWF0HHrU8CAsmvfL7Zg4M/S98PU3 +VNiySPHCV+akUfVrDHBKKe92XD+WQ== =S8SA -----END PGP SIGNATURE----- Merge tag 'drm-misc-fixes-2018-11-07' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes - sun4i: tcon->panel NULL deref protections (Giulio) Cc: Giulio Benetti <giulio.benetti@micronovasrl.com> Signed-off-by: Dave Airlie <airlied@redhat.com> From: Sean Paul <sean@poorly.run> Link: https://patchwork.freedesktop.org/patch/msgid/20181107205051.GA27823@art_vandelay
This commit is contained in:
commit
d10cf6da31
|
@ -75,7 +75,7 @@ static void sun4i_lvds_encoder_enable(struct drm_encoder *encoder)
|
|||
|
||||
DRM_DEBUG_DRIVER("Enabling LVDS output\n");
|
||||
|
||||
if (!IS_ERR(tcon->panel)) {
|
||||
if (tcon->panel) {
|
||||
drm_panel_prepare(tcon->panel);
|
||||
drm_panel_enable(tcon->panel);
|
||||
}
|
||||
|
@ -88,7 +88,7 @@ static void sun4i_lvds_encoder_disable(struct drm_encoder *encoder)
|
|||
|
||||
DRM_DEBUG_DRIVER("Disabling LVDS output\n");
|
||||
|
||||
if (!IS_ERR(tcon->panel)) {
|
||||
if (tcon->panel) {
|
||||
drm_panel_disable(tcon->panel);
|
||||
drm_panel_unprepare(tcon->panel);
|
||||
}
|
||||
|
|
|
@ -135,7 +135,7 @@ static void sun4i_rgb_encoder_enable(struct drm_encoder *encoder)
|
|||
|
||||
DRM_DEBUG_DRIVER("Enabling RGB output\n");
|
||||
|
||||
if (!IS_ERR(tcon->panel)) {
|
||||
if (tcon->panel) {
|
||||
drm_panel_prepare(tcon->panel);
|
||||
drm_panel_enable(tcon->panel);
|
||||
}
|
||||
|
@ -148,7 +148,7 @@ static void sun4i_rgb_encoder_disable(struct drm_encoder *encoder)
|
|||
|
||||
DRM_DEBUG_DRIVER("Disabling RGB output\n");
|
||||
|
||||
if (!IS_ERR(tcon->panel)) {
|
||||
if (tcon->panel) {
|
||||
drm_panel_disable(tcon->panel);
|
||||
drm_panel_unprepare(tcon->panel);
|
||||
}
|
||||
|
|
|
@ -491,7 +491,8 @@ static void sun4i_tcon0_mode_set_rgb(struct sun4i_tcon *tcon,
|
|||
sun4i_tcon0_mode_set_common(tcon, mode);
|
||||
|
||||
/* Set dithering if needed */
|
||||
sun4i_tcon0_mode_set_dithering(tcon, tcon->panel->connector);
|
||||
if (tcon->panel)
|
||||
sun4i_tcon0_mode_set_dithering(tcon, tcon->panel->connector);
|
||||
|
||||
/* Adjust clock delay */
|
||||
clk_delay = sun4i_tcon_get_clk_delay(mode, 0);
|
||||
|
@ -555,7 +556,7 @@ static void sun4i_tcon0_mode_set_rgb(struct sun4i_tcon *tcon,
|
|||
* Following code is a way to avoid quirks all around TCON
|
||||
* and DOTCLOCK drivers.
|
||||
*/
|
||||
if (!IS_ERR(tcon->panel)) {
|
||||
if (tcon->panel) {
|
||||
struct drm_panel *panel = tcon->panel;
|
||||
struct drm_connector *connector = panel->connector;
|
||||
struct drm_display_info display_info = connector->display_info;
|
||||
|
|
Loading…
Reference in New Issue