> The return value of the low level driver is significant and it's the value
> that has to be returned to the application. The low level driver doesn't
> always return the same value as requested by the application.
The intent is that the values written into user space and the ultimate
return value of all userland interfaces is the same.
Many internal functions have had their interfaces changed. In this case,
pas2_audio_ioctl, and other audio_driver->ioctl() functions, no longer
return the value returned by the low-level driver; they return a -errno.
This bug manifested because some of the callers to audio_driver->ioctl()
were not changed to the new interface.
I looked carefully, twice, on different days, and I haven't found any
other call paths through audio_driver->ioctl() that have the same problem.
Michael Chastain
<mailto:mec@shout.net>
"love without fear"