From e245afe984b120704f15bc8d391fdb6cf96cfe0c Mon Sep 17 00:00:00 2001
From: Hans Verkuil <hverkuil@xs4all.nl>
Date: Tue, 17 Apr 2012 08:41:58 -0300
Subject: [media] videodev2.h: Fix VIDIOC_QUERYMENU ioctl regression

Fixes a regression in VIDIOC_QUERYMENU introduced when the __s64 value
field was added to the union. On a 64-bit system this will change the
size of this v4l2_querymenu structure from 44 to 48 bytes, thus
breaking the ABI. By adding the packed attribute it is working again.

Tested on both 64 and 32 bit systems.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
 include/linux/videodev2.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'include')

diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index e69cacc9e9ea..5a09ac3f7683 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -1176,7 +1176,7 @@ struct v4l2_querymenu {
 		__s64	value;
 	};
 	__u32		reserved;
-};
+} __attribute__ ((packed));
 
 /*  Control flags  */
 #define V4L2_CTRL_FLAG_DISABLED		0x0001
-- 
cgit v1.2.2