diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c
index 2f73e366111e08b55c65b338841c76f0255f172c..8596c318114b9c08f08a2199b3f543b1516db31a 100644
--- a/drivers/dma/ste_dma40.c
+++ b/drivers/dma/ste_dma40.c
@@ -2636,7 +2636,7 @@ static struct d40_base * __init d40_hw_detect_init(struct platform_device *pdev)
 	return base;
 
 failure:
-	if (clk) {
+	if (!IS_ERR(clk)) {
 		clk_disable(clk);
 		clk_put(clk);
 	}