diff -urNp linux-2.4.21/drivers/sound/sb_audio.c linux-2.4.21.SUSE/drivers/sound/sb_audio.c --- linux-2.4.21/drivers/sound/sb_audio.c 2002-02-25 20:38:06.000000000 +0100 +++ linux-2.4.21.SUSE/drivers/sound/sb_audio.c 2004-03-03 17:07:58.000000000 +0100 @@ -879,7 +879,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; }