return error;
        chip = card->private_data;
 
-       if ((error = snd_card_ad1816a_pnp(dev, pcard, pid))) {
+       error = snd_card_ad1816a_pnp(dev, pcard, pid);
+       if (error) {
                snd_card_free(card);
                return error;
        }
 
-       if ((error = snd_ad1816a_create(card, port[dev],
-                                       irq[dev],
-                                       dma1[dev],
-                                       dma2[dev],
-                                       chip)) < 0) {
+       error = snd_ad1816a_create(card, port[dev],
+                                  irq[dev],
+                                  dma1[dev],
+                                  dma2[dev],
+                                  chip);
+       if (error) {
                snd_card_free(card);
                return error;
        }
        sprintf(card->longname, "%s, SS at 0x%lx, irq %d, dma %d&%d",
                card->shortname, chip->port, irq[dev], dma1[dev], dma2[dev]);
 
-       if ((error = snd_ad1816a_pcm(chip, 0)) < 0) {
+       error = snd_ad1816a_pcm(chip, 0);
+       if (error < 0) {
                snd_card_free(card);
                return error;
        }
 
-       if ((error = snd_ad1816a_mixer(chip)) < 0) {
+       error = snd_ad1816a_mixer(chip);
+       if (error < 0) {
                snd_card_free(card);
                return error;
        }
                }
        }
 
-       if ((error = snd_card_register(card)) < 0) {
+       error = snd_card_register(card);
+       if (error < 0) {
                snd_card_free(card);
                return error;
        }
 
                snd_ad1816a_write_mask(chip, AD1816A_INTERRUPT_ENABLE,
                        AD1816A_TIMER_IRQ_ENABLE, 0x0000);
        }
-       if (!((chip->mode &= ~mode) & AD1816A_MODE_OPEN))
+       chip->mode &= ~mode;
+       if (!(chip->mode & AD1816A_MODE_OPEN))
                chip->mode = 0;
 
        spin_unlock_irqrestore(&chip->lock, flags);
        struct snd_pcm_runtime *runtime = substream->runtime;
        int error;
 
-       if ((error = snd_ad1816a_open(chip, AD1816A_MODE_PLAYBACK)) < 0)
+       error = snd_ad1816a_open(chip, AD1816A_MODE_PLAYBACK);
+       if (error < 0)
                return error;
        runtime->hw = snd_ad1816a_playback;
        snd_pcm_limit_isa_dma_size(chip->dma1, &runtime->hw.buffer_bytes_max);
        struct snd_pcm_runtime *runtime = substream->runtime;
        int error;
 
-       if ((error = snd_ad1816a_open(chip, AD1816A_MODE_CAPTURE)) < 0)
+       error = snd_ad1816a_open(chip, AD1816A_MODE_CAPTURE);
+       if (error < 0)
                return error;
        runtime->hw = snd_ad1816a_capture;
        snd_pcm_limit_isa_dma_size(chip->dma2, &runtime->hw.buffer_bytes_max);
        chip->dma1 = -1;
        chip->dma2 = -1;
 
-       if ((chip->res_port = request_region(port, 16, "AD1816A")) == NULL) {
+       chip->res_port = request_region(port, 16, "AD1816A");
+       if (!chip->res_port) {
                snd_printk(KERN_ERR "ad1816a: can't grab port 0x%lx\n", port);
                snd_ad1816a_free(chip);
                return -EBUSY;
        chip->port = port;
        spin_lock_init(&chip->lock);
 
-       if ((error = snd_ad1816a_probe(chip))) {
+       error = snd_ad1816a_probe(chip);
+       if (error) {
                snd_ad1816a_free(chip);
                return error;
        }
        snd_ad1816a_init(chip);
 
        /* Register device */
-       if ((error = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops)) < 0) {
+       error = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops);
+       if (error < 0) {
                snd_ad1816a_free(chip);
                return error;
        }
        int error;
        struct snd_pcm *pcm;
 
-       if ((error = snd_pcm_new(chip->card, "AD1816A", device, 1, 1, &pcm)))
+       error = snd_pcm_new(chip->card, "AD1816A", device, 1, 1, &pcm);
+       if (error)
                return error;
 
        snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_ad1816a_playback_ops);
        tid.card = chip->card->number;
        tid.device = device;
        tid.subdevice = 0;
-       if ((error = snd_timer_new(chip->card, "AD1816A", &tid, &timer)) < 0)
+       error = snd_timer_new(chip->card, "AD1816A", &tid, &timer);
+       if (error < 0)
                return error;
        strcpy(timer->name, snd_ad1816a_chip_id(chip));
        timer->private_data = chip;
        strcpy(card->mixername, snd_ad1816a_chip_id(chip));
 
        for (idx = 0; idx < ARRAY_SIZE(snd_ad1816a_controls); idx++) {
-               if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_ad1816a_controls[idx], chip))) < 0)
+               err = snd_ctl_add(card, snd_ctl_new1(&snd_ad1816a_controls[idx], chip));
+               if (err < 0)
                        return err;
        }
        return 0;