1
0
Fork 0

video/hdmi: Fix AVI bar unpack

commit 6039f37dd6 upstream.

The bar values are little endian, not big endian. The pack
function did it right but the unpack got it wrong. Fix it.

Cc: stable@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: Martin Bugge <marbugge@cisco.com>
Cc: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Thierry Reding <treding@nvidia.com>
Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Fixes: 2c676f378e ("[media] hdmi: added unpack and logging functions for InfoFrames")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190919132853.30954-1-ville.syrjala@linux.intel.com
Reviewed-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
5.4-rM2-2.2.x-imx-squashed
Ville Syrjälä 2019-09-19 16:28:53 +03:00 committed by Greg Kroah-Hartman
parent 01d8c17469
commit 8d3e44702d
1 changed files with 4 additions and 4 deletions

View File

@ -1576,12 +1576,12 @@ static int hdmi_avi_infoframe_unpack(struct hdmi_avi_infoframe *frame,
if (ptr[0] & 0x10)
frame->active_aspect = ptr[1] & 0xf;
if (ptr[0] & 0x8) {
frame->top_bar = (ptr[5] << 8) + ptr[6];
frame->bottom_bar = (ptr[7] << 8) + ptr[8];
frame->top_bar = (ptr[6] << 8) | ptr[5];
frame->bottom_bar = (ptr[8] << 8) | ptr[7];
}
if (ptr[0] & 0x4) {
frame->left_bar = (ptr[9] << 8) + ptr[10];
frame->right_bar = (ptr[11] << 8) + ptr[12];
frame->left_bar = (ptr[10] << 8) | ptr[9];
frame->right_bar = (ptr[12] << 8) | ptr[11];
}
frame->scan_mode = ptr[0] & 0x3;