ALSA: ctl: Fix ioctls for X32 ABI
authorTakashi Iwai <tiwai@suse.de>
Sat, 27 Feb 2016 16:52:42 +0000 (17:52 +0100)
committerTakashi Iwai <tiwai@suse.de>
Sun, 28 Feb 2016 16:43:54 +0000 (17:43 +0100)
commit6236d8bb2afcfe71b88ecea554e0dc638090a45f
treed2561ef8ecefb7093dd39d8a96bef1613b9a98dd
parent473f414564528a819f0c2bb6b4bf26366b64c9ab
ALSA: ctl: Fix ioctls for X32 ABI

The X32 ABI takes the same alignment like x86-64, and this may result
in the incompatible struct size from ia32.  Unfortunately, we hit this
in some control ABI: struct snd_ctl_elem_value differs between them
due to the position of 64bit variable array.  This ends up with the
unknown ioctl (ENOTTY) error.

The fix is to add the compat entries for the new aligned struct.

Reported-and-tested-by: Steven Newbury <steve@snewbury.org.uk>
Cc: <stable@vger.kernel.org> # v3.4+
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/control_compat.c