video/hdmi: Fix AVI bar unpack
commit 6039f37dd6b76641198e290f26b31c475248f567 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: 2c676f378edb ("[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>
This commit is contained in:
parent
526bf191b7
commit
2bec4a096f
|
@ -1032,12 +1032,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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user