
From: Andreas Kies <andikies@t-online.de>

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

_
