I am developing a kernel module that uses unlocked_ioctl. I tested it with kernel version 2.6.24-23-generic and it works perfectly. Now I tried it with kernel version 3.3.1-
As pointed out by @Ilya, You are hitting a generic case (FIGETBSZ in this case).
In general, you want to compose your ioctl commands using the _IO family of macros, with a unique type, to avoid collisions.
I suggest reading ioctl-number.txt from the kernel documentation for more information, including a list of most used types