spin_lock_irq(&s->lock);
 
-       if ((restart = s->running)) {
+       restart = s->running;
+       if (restart)
                rme9652_stop(s);
-       }
 
        frames >>= 7;
        n = 0;
                return -EBUSY;
        }
 
-       if ((restart = rme9652->running)) {
+       restart = rme9652->running;
+       if (restart)
                rme9652_stop(rme9652);
-       }
        rme9652->control_register &= ~(RME9652_freq | RME9652_DS);
        rme9652->control_register |= rate;
        rme9652_write(rme9652, RME9652_control_register, rme9652->control_register);
 
-       if (restart) {
+       if (restart)
                rme9652_start(rme9652);
-       }
 
        if (rate & RME9652_DS) {
                if (rme9652->ss_channels == RME9652_NCHANNELS) {
 
        /* XXX do we actually need to stop the card when we do this ? */
 
-       if ((restart = rme9652->running)) {
+       restart = rme9652->running;
+       if (restart)
                rme9652_stop(rme9652);
-       }
 
        rme9652_write(rme9652, RME9652_control_register, rme9652->control_register);
 
-       if (restart) {
+       if (restart)
                rme9652_start(rme9652);
-       }
 
        return 0;
 }
        rme9652->control_register &= ~RME9652_inp;
        rme9652->control_register |= rme9652_encode_spdif_in(in);
 
-       if ((restart = rme9652->running)) {
+       restart = rme9652->running;
+       if (restart)
                rme9652_stop(rme9652);
-       }
 
        rme9652_write(rme9652, RME9652_control_register, rme9652->control_register);
 
-       if (restart) {
+       if (restart)
                rme9652_start(rme9652);
-       }
 
        return 0;
 }
                rme9652->control_register &= ~RME9652_opt_out;
        }
 
-       if ((restart = rme9652->running)) {
+       restart = rme9652->running;
+       if (restart)
                rme9652_stop(rme9652);
-       }
 
        rme9652_write(rme9652, RME9652_control_register, rme9652->control_register);
 
-       if (restart) {
+       if (restart)
                rme9652_start(rme9652);
-       }
 
        return 0;
 }
                break;
        }
 
-       if ((restart = rme9652->running)) {
+       restart = rme9652->running;
+       if (restart)
                rme9652_stop(rme9652);
-       }
 
        rme9652_write(rme9652, RME9652_control_register, rme9652->control_register);
 
-       if (restart) {
+       if (restart)
                rme9652_start(rme9652);
-       }
 
        return 0;
 }
                break;
        }
 
-       if ((restart = rme9652->running)) {
+       restart = rme9652->running;
+       if (restart)
                rme9652_stop(rme9652);
-       }
 
        rme9652_write(rme9652, RME9652_control_register, rme9652->control_register);
 
-       if (restart) {
+       if (restart)
                rme9652_start(rme9652);
-       }
 
        return 0;
 }
        struct snd_kcontrol *kctl;
 
        for (idx = 0; idx < ARRAY_SIZE(snd_rme9652_controls); idx++) {
-               if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_rme9652_controls[idx], rme9652))) < 0)
+               kctl = snd_ctl_new1(&snd_rme9652_controls[idx], rme9652);
+               err = snd_ctl_add(card, kctl);
+               if (err < 0)
                        return err;
                if (idx == 1)   /* IEC958 (S/PDIF) Stream */
                        rme9652->spdif_ctl = kctl;
        }
 
-       if (rme9652->ss_channels == RME9652_NCHANNELS)
-               if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_rme9652_adat3_check, rme9652))) < 0)
+       if (rme9652->ss_channels == RME9652_NCHANNELS) {
+               kctl = snd_ctl_new1(&snd_rme9652_adat3_check, rme9652);
+               err = snd_ctl_add(card, kctl);
+               if (err < 0)
                        return err;
+       }
 
-       if (rme9652->hw_rev >= 15)
-               if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_rme9652_adat1_input, rme9652))) < 0)
+       if (rme9652->hw_rev >= 15) {
+               kctl = snd_ctl_new1(&snd_rme9652_adat1_input, rme9652);
+               err = snd_ctl_add(card, kctl);
+               if (err < 0)
                        return err;
+       }
 
        return 0;
 }
        if (snd_BUG_ON(channel < 0 || channel >= RME9652_NCHANNELS))
                return NULL;
         
-       if ((mapped_channel = rme9652->channel_map[channel]) < 0) {
+       mapped_channel = rme9652->channel_map[channel];
+       if (mapped_channel < 0)
                return NULL;
-       }
        
        if (stream == SNDRV_PCM_STREAM_CAPTURE) {
                return rme9652->capture_buffer +
        /* how to make sure that the rate matches an externally-set one ?
         */
 
-       if ((err = rme9652_set_rate(rme9652, params_rate(params))) < 0) {
+       err = rme9652_set_rate(rme9652, params_rate(params));
+       if (err < 0) {
                _snd_pcm_hw_param_setempty(params, SNDRV_PCM_HW_PARAM_RATE);
                return err;
        }
 
-       if ((err = rme9652_set_interrupt_interval(rme9652, params_period_size(params))) < 0) {
+       err = rme9652_set_interrupt_interval(rme9652, params_period_size(params));
+       if (err < 0) {
                _snd_pcm_hw_param_setempty(params, SNDRV_PCM_HW_PARAM_PERIOD_SIZE);
                return err;
        }
        struct snd_pcm *pcm;
        int err;
 
-       if ((err = snd_pcm_new(card,
-                              rme9652->card_name,
-                              0, 1, 1, &pcm)) < 0) {
+       err = snd_pcm_new(card, rme9652->card_name, 0, 1, 1, &pcm);
+       if (err < 0)
                return err;
-       }
 
        rme9652->pcm = pcm;
        pcm->private_data = rme9652;
                return -ENODEV;
        }
 
-       if ((err = pci_enable_device(pci)) < 0)
+       err = pci_enable_device(pci);
+       if (err < 0)
                return err;
 
        spin_lock_init(&rme9652->lock);
 
-       if ((err = pci_request_regions(pci, "rme9652")) < 0)
+       err = pci_request_regions(pci, "rme9652");
+       if (err < 0)
                return err;
        rme9652->port = pci_resource_start(pci, 0);
        rme9652->iobase = ioremap(rme9652->port, RME9652_IO_EXTENT);
 
        pci_set_master(rme9652->pci);
 
-       if ((err = snd_rme9652_initialize_memory(rme9652)) < 0) {
+       err = snd_rme9652_initialize_memory(rme9652);
+       if (err < 0)
                return err;
-       }
 
-       if ((err = snd_rme9652_create_pcm(card, rme9652)) < 0) {
+       err = snd_rme9652_create_pcm(card, rme9652);
+       if (err < 0)
                return err;
-       }
 
-       if ((err = snd_rme9652_create_controls(card, rme9652)) < 0) {
+       err = snd_rme9652_create_controls(card, rme9652);
+       if (err < 0)
                return err;
-       }
 
        snd_rme9652_proc_init(rme9652);