*/
                        omap24xxcam_dmahw_transfer_start(base, dmach);
                        break;
-               } else
-                       ch = (ch + 1) % NUM_CAMDMA_CHANNELS;
+               }
+               ch = (ch + 1) % NUM_CAMDMA_CHANNELS;
        }
 }
 
                        spin_unlock(&dma->lock);
                        omap24xxcam_dma_stop(dma, csr);
                        return;
-               } else {
-                       callback = dma->ch_state[dmach].callback;
-                       arg = dma->ch_state[dmach].arg;
-                       dma->free_dmach++;
-                       if (callback) {
-                               spin_unlock(&dma->lock);
-                               (*callback) (dma, csr, arg);
-                               spin_lock(&dma->lock);
-                       }
+               }
+               callback = dma->ch_state[dmach].callback;
+               arg = dma->ch_state[dmach].arg;
+               dma->free_dmach++;
+               if (callback) {
+                       spin_unlock(&dma->lock);
+                       (*callback) (dma, csr, arg);
+                       spin_lock(&dma->lock);
                }
        }
 
                                /* DMA start failed */
                                spin_unlock_irqrestore(&sgdma->lock, flags);
                                return;
-                       } else {
-                               unsigned long expires;
-                               /* DMA start was successful */
-                               sg_state->next_sglist++;
-                               sg_state->bytes_read += len;
-                               sg_state->queued_sglist++;
-
-                               /* We start the reset timer */
-                               expires = jiffies + HZ;
-                               mod_timer(&sgdma->reset_timer, expires);
                        }
+                       unsigned long expires;
+                       /* DMA start was successful */
+                       sg_state->next_sglist++;
+                       sg_state->bytes_read += len;
+                       sg_state->queued_sglist++;
+
+                       /* We start the reset timer */
+                       expires = jiffies + HZ;
+                       mod_timer(&sgdma->reset_timer, expires);
                }
                queued_sgdma--;
                sgslot = (sgslot + 1) % NUM_SG_DMA;