From: Andreas Kies Fix improperly handled 16 bit sample size. If you use an odd number of bytes in 16 bit mode the driver fails to work. --- 25-akpm/sound/oss/sb_audio.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN sound/oss/sb_audio.c~sb16-sample-size-fix sound/oss/sb_audio.c --- 25/sound/oss/sb_audio.c~sb16-sample-size-fix Tue Mar 2 13:21:58 2004 +++ 25-akpm/sound/oss/sb_audio.c Tue Mar 2 13:21:58 2004 @@ -882,7 +882,7 @@ sb16_copy_from_user(int dev, c -= locallen; p += locallen; } /* used = ( samples * 16 bits size ) */ - *used = len << 1; + *used = max_in > ( max_out << 1) ? (max_out << 1) : max_in; /* returned = ( samples * 8 bits size ) */ *returned = len; } _