On Thu, Jun 30, 2011 at 02:38:20PM +0200, Takashi Iwai wrote:
In userland an empty definition will be used for _IOC_TYPECHECK so there won't be an error. So userland already is already using the existing value for SNDRV_SB_CSP_IOCTL_LOAD_CODE ...
Right. It has an invalid direction (3), but apps won't care such details anyway.
With a crude hack like
#define SNDRV_SB_CSP_IOCTL_LOAD_CODE \ _IOC(_IOC_WRITE,'H', 0x11, sizeof(struct snd_sb_csp_microcode))
error checking can be bypassed and all will be fine as long as the resulting value doesn't result in in a a duplicate case value - which it doesn't, at least not in my testing.
Should work but isn't nice.
Indeed. But which is uglier is hard to answer :)
If you are fine with the hacked ioctl number above, I can put it with some comments. This won't break anything, at least.
Go ahead then and yes, this really deserves a comment.
Ralf