drm/bridge: analogix: fix edid not works
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / drm / bridge / analogix / analogix_dp_core.c
index 6ac31a9f8260b551e9828792ec66a4da63527733..ff2b881581c5c8cd3fb46c6cb2cf8226a9249e13 100644 (file)
@@ -938,9 +938,10 @@ int analogix_dp_get_modes(struct drm_connector *connector)
 
        pm_runtime_get_sync(dp->dev);
 
-       if (dp->plat_data->panel) {
+       if (dp->plat_data->panel)
                num_modes += drm_panel_get_modes(dp->plat_data->panel);
-       } else if (analogix_dp_handle_edid(dp) == 0) {
+
+       if (!num_modes && !analogix_dp_handle_edid(dp)) {
                drm_mode_connector_update_edid_property(&dp->connector, edid);
                num_modes += drm_add_edid_modes(&dp->connector, edid);
        }