Messages in this thread |  | | From | Paul Mackerras <> | Date | Thu, 1 Nov 2001 14:52:51 +1100 (EST) | Subject | Re: [sparc] Weird ioctl() bug in 2.2.19 (fwd) |
| |
Alex Buell writes:
> No, the ioctl numbers are correct, it's ESD that's fscked. > > /* set the sound driver audio format for playback */ > #if defined(__powerpc__) > value = test = ( (esd_audio_format & ESD_MASK_BITS) == ESD_BITS16 ) > ? /* 16 bit */ AFMT_S16_NE : /* 8 bit */ AFMT_U8; > #else /* #if !defined(__powerpc__) */ > value = test = ( (esd_audio_format & ESD_MASK_BITS) == ESD_BITS16 ) > ? /* 16 bit */ AFMT_S16_LE : /* 8 bit */ AFMT_U8; > #endif /* #if !defined(__powerpc__) */ > > <sarcasm> > This is such a lovely piece of code! > <sarcasm>
Indeed...
> Anyway, I can fix it now by adding the appropriate AFMT_S16_BE statement > guarded by a #ifdef but this sucks. Thanks to Peter Jones who spotted this > one.
Why can't you just use AFMT_S16_NE on all platforms? That is supposed to be equal to AFMT_S16_BE on big-endian platforms and to AFMT_S16_LE on little-endian platforms. NE == native endian.
Paul. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |