--- ./drivers/sound/cmpci.c	Sun Oct 22 21:24:45 2006
+++ ./drivers/sound/cmpci.c	Sun Nov 12 22:42:28 2006
@@ -3217,7 +3217,7 @@
 			maskb(s->iobase + CODEC_CMI_FUNCTRL1, ~0, 0x04);
 			/* clear all previously received interrupt */
 			for (timeout = 900000; timeout > 0; timeout--) {
-				if ((inb(s->iomidi + 1) && 0x80) == 0)
+				if ((inb(s->iomidi + 1) & 0x80) == 0)
 					inb(s->iomidi);
 				else
 					break;
