On Thu, Jun 30, 2011 at 12:15:56PM +0200, Takashi Iwai wrote:
> At Thu, 30 Jun 2011 10:17:54 +0100,
> Ralf Baechle wrote:
> > Found on a MIPS build but certain other architectures will have the same
> > issue:
> > CC sound/isa/sb/sb16_csp.o
> > sound/isa/sb/sb16_csp.c: In function ‘snd_sb_csp_ioctl’:
> > sound/isa/sb/sb16_csp.c:228: error: case label does not reduce to an
> > integer constant
> > make: *** [sound/isa/sb/sb16_csp.o] Error 1
> > make: *** [sound/isa/sb/sb16_csp.o] Error 2
> > This error message is caused by the _IOC_TYPECHECK() error check triggering
> > due to excessive ioctl size on Alpha, PowerPC, MIPS and SPARC which define
> > _IOC_SIZEBITS as 13. On all other architectures define it as 14 so struct
> > snd_sb_csp_microcode with it's little over 12kB will just about fit into
> > the 16kB limit.
> What about the patch below?
I have no idea how big the soundblaster microcode being loaded actually is,
that is if the reduced size of 0x1f00 will be sufficient. Aside of that I
don't see a problem - I don't see how the old ioctl can possibly have been
used before so there isn't a compatibility problem.
Or you could entirely sidestep the problem and use request_firmware() but
I guess that's more effort than you want to invest.
> This is an old ISA driver, so the impact must be very low.
True. I notice that sort of stuff in automated mass builds - not
necessarily the sort of kernels one would actually use. Still build errors
are annoying :)