drm/i915/dp: Ensure max link params are always valid
authorImre Deak <imre.deak@intel.com>
Mon, 18 Oct 2021 09:41:51 +0000 (12:41 +0300)
committerImre Deak <imre.deak@intel.com>
Wed, 20 Oct 2021 09:20:12 +0000 (12:20 +0300)
commit9ad87de4735620ffc555592e8c5f580478fa3ed0
tree03acab462550f981db60518a9fe935ce9000f245
parent3f61ef9777c0ab0f03f4af0ed6fd3e5250537a8d
drm/i915/dp: Ensure max link params are always valid

Atm until the DPCD for a connector is read the max link rate and lane
count params are invalid. If the connector is modeset, in
intel_dp_compute_config(), intel_dp_common_len_rate_limit(max_link_rate)
will return 0, leading to a intel_dp->common_rates[-1] access.

Fix the above by making sure the max link params are always valid.

The above access leads to an undefined behaviour by definition, though
not causing a user visible problem to my best knowledge, see the previous
patch why. Nevertheless it is an undefined behaviour and it triggers a
BUG() in CONFIG_UBSAN builds, hence CC:stable.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211018094154.1407705-4-imre.deak@intel.com
drivers/gpu/drm/i915/display/intel_dp.c