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;
 	}