Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 66ac5a29 authored by Alexey Dobriyan's avatar Alexey Dobriyan Committed by Linus Torvalds
Browse files

[PATCH] ixj: fix writing silence check



j->write_buffer_rp is a pointer.

Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent f0c00257
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -3558,10 +3558,16 @@ static void ixj_write_frame(IXJ *j)
				}
			/* Add word 0 to G.729 frames for the 8021.  Right now we don't do VAD/CNG  */
				if (j->play_codec == G729 && (cnt == 0 || cnt == 10 || cnt == 20)) {
					if(j->write_buffer_rp + cnt == 0 && j->write_buffer_rp + cnt + 1 == 0 && j->write_buffer_rp + cnt + 2 == 0 &&
					   j->write_buffer_rp + cnt + 3 == 0 && j->write_buffer_rp + cnt + 4 == 0 && j->write_buffer_rp + cnt + 5 == 0 &&
					   j->write_buffer_rp + cnt + 6 == 0 && j->write_buffer_rp + cnt + 7 == 0 && j->write_buffer_rp + cnt + 8 == 0 &&
					   j->write_buffer_rp + cnt + 9 == 0) {
					if (j->write_buffer_rp[cnt] == 0 &&
					    j->write_buffer_rp[cnt + 1] == 0 &&
					    j->write_buffer_rp[cnt + 2] == 0 &&
					    j->write_buffer_rp[cnt + 3] == 0 &&
					    j->write_buffer_rp[cnt + 4] == 0 &&
					    j->write_buffer_rp[cnt + 5] == 0 &&
					    j->write_buffer_rp[cnt + 6] == 0 &&
					    j->write_buffer_rp[cnt + 7] == 0 &&
					    j->write_buffer_rp[cnt + 8] == 0 &&
					    j->write_buffer_rp[cnt + 9] == 0) {
					/* someone is trying to write silence lets make this a type 0 frame. */
						outb_p(0x00, j->DSPbase + 0x0C);
						outb_p(0x00, j->DSPbase + 0x0D);