{
        unsigned long flags;
 
-       mute = mute ? 1 : 0;
+       mute = mute ? 0x80 : 0;
        spin_lock_irqsave(&chip->reg_lock, flags);
        if (chip->calibrate_mute == mute) {
                spin_unlock_irqrestore(&chip->reg_lock, flags);
                             chip->image[CS4231_LOOPBACK]);
        }
        snd_wss_dout(chip, CS4231_AUX1_LEFT_INPUT,
-                    mute ? 0x80 : chip->image[CS4231_AUX1_LEFT_INPUT]);
+                    mute | chip->image[CS4231_AUX1_LEFT_INPUT]);
        snd_wss_dout(chip, CS4231_AUX1_RIGHT_INPUT,
-                    mute ? 0x80 : chip->image[CS4231_AUX1_RIGHT_INPUT]);
+                    mute | chip->image[CS4231_AUX1_RIGHT_INPUT]);
        snd_wss_dout(chip, CS4231_AUX2_LEFT_INPUT,
-                    mute ? 0x80 : chip->image[CS4231_AUX2_LEFT_INPUT]);
+                    mute | chip->image[CS4231_AUX2_LEFT_INPUT]);
        snd_wss_dout(chip, CS4231_AUX2_RIGHT_INPUT,
-                    mute ? 0x80 : chip->image[CS4231_AUX2_RIGHT_INPUT]);
+                    mute | chip->image[CS4231_AUX2_RIGHT_INPUT]);
        snd_wss_dout(chip, CS4231_LEFT_OUTPUT,
-                    mute ? 0x80 : chip->image[CS4231_LEFT_OUTPUT]);
+                    mute | chip->image[CS4231_LEFT_OUTPUT]);
        snd_wss_dout(chip, CS4231_RIGHT_OUTPUT,
-                    mute ? 0x80 : chip->image[CS4231_RIGHT_OUTPUT]);
+                    mute | chip->image[CS4231_RIGHT_OUTPUT]);
        if (!(chip->hardware & WSS_HW_AD1848_MASK)) {
                snd_wss_dout(chip, CS4231_LEFT_LINE_IN,
-                            mute ? 0x80 : chip->image[CS4231_LEFT_LINE_IN]);
+                            mute | chip->image[CS4231_LEFT_LINE_IN]);
                snd_wss_dout(chip, CS4231_RIGHT_LINE_IN,
-                            mute ? 0x80 : chip->image[CS4231_RIGHT_LINE_IN]);
+                            mute | chip->image[CS4231_RIGHT_LINE_IN]);
                snd_wss_dout(chip, CS4231_MONO_CTRL,
                             mute ? 0xc0 : chip->image[CS4231_MONO_CTRL]);
        }
        if (chip->hardware == WSS_HW_INTERWAVE) {
                snd_wss_dout(chip, CS4231_LEFT_MIC_INPUT,
-                            mute ? 0x80 : chip->image[CS4231_LEFT_MIC_INPUT]);
+                            mute | chip->image[CS4231_LEFT_MIC_INPUT]);
                snd_wss_dout(chip, CS4231_RIGHT_MIC_INPUT,
-                            mute ? 0x80 : chip->image[CS4231_RIGHT_MIC_INPUT]);
+                            mute | chip->image[CS4231_RIGHT_MIC_INPUT]);
                snd_wss_dout(chip, CS4231_LINE_LEFT_OUTPUT,
-                       mute ? 0x80 : chip->image[CS4231_LINE_LEFT_OUTPUT]);
+                            mute | chip->image[CS4231_LINE_LEFT_OUTPUT]);
                snd_wss_dout(chip, CS4231_LINE_RIGHT_OUTPUT,
-                       mute ? 0x80 : chip->image[CS4231_LINE_RIGHT_OUTPUT]);
+                            mute | chip->image[CS4231_LINE_RIGHT_OUTPUT]);
        }
        chip->calibrate_mute = mute;
        spin_unlock_irqrestore(&chip->reg_lock, flags);