drm/i915/dsi: double check element parsing against size if present
Be a little paranoid in case the specs change or something. Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/27050d48d0ff3d58e79fcacc41ced4c071b01424.1474286487.git.jani.nikula@intel.com
This commit is contained in:
parent
4b4f497e13
commit
8e4f768c43
|
@ -441,7 +441,15 @@ static void generic_exec_sequence(struct drm_panel *panel, enum mipi_seq seq_id)
|
||||||
operation_size = *data++;
|
operation_size = *data++;
|
||||||
|
|
||||||
if (mipi_elem_exec) {
|
if (mipi_elem_exec) {
|
||||||
|
const u8 *next = data + operation_size;
|
||||||
|
|
||||||
data = mipi_elem_exec(intel_dsi, data);
|
data = mipi_elem_exec(intel_dsi, data);
|
||||||
|
|
||||||
|
/* Consistency check if we have size. */
|
||||||
|
if (operation_size && data != next) {
|
||||||
|
DRM_ERROR("Inconsistent operation size\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
} else if (operation_size) {
|
} else if (operation_size) {
|
||||||
/* We have size, skip. */
|
/* We have size, skip. */
|
||||||
DRM_DEBUG_KMS("Unsupported MIPI operation byte %u\n",
|
DRM_DEBUG_KMS("Unsupported MIPI operation byte %u\n",
|
||||||
|
|
Loading…
Reference in New Issue