dma_has_cap(DMA_SLAVE, atdma->dma_common.cap_mask)  ? "slave " : "",
          plat_dat->nr_channels);
 
-       dma_async_device_register(&atdma->dma_common);
+       err = dma_async_device_register(&atdma->dma_common);
+       if (err) {
+               dev_err(&pdev->dev, "Unable to register: %d.\n", err);
+               goto err_dma_async_device_register;
+       }
 
        /*
         * Do not return an error if the dmac node is not present in order to
 
 err_of_dma_controller_register:
        dma_async_device_unregister(&atdma->dma_common);
+err_dma_async_device_register:
        dma_pool_destroy(atdma->memset_pool);
 err_memset_pool_create:
        dma_pool_destroy(atdma->dma_desc_pool);