qce_write(qce, REG_CONFIG, config);
 }
 
-static inline void qce_crypto_go(struct qce_device *qce)
+static inline void qce_crypto_go(struct qce_device *qce, bool result_dump)
 {
-       qce_write(qce, REG_GOPROC, BIT(GO_SHIFT) | BIT(RESULTS_DUMP_SHIFT));
+       if (result_dump)
+               qce_write(qce, REG_GOPROC, BIT(GO_SHIFT) | BIT(RESULTS_DUMP_SHIFT));
+       else
+               qce_write(qce, REG_GOPROC, BIT(GO_SHIFT));
 }
 
 #ifdef CONFIG_CRYPTO_DEV_QCE_SHA
        config = qce_config_reg(qce, 1);
        qce_write(qce, REG_CONFIG, config);
 
-       qce_crypto_go(qce);
+       qce_crypto_go(qce, true);
 
        return 0;
 }
        config = qce_config_reg(qce, 1);
        qce_write(qce, REG_CONFIG, config);
 
-       qce_crypto_go(qce);
+       qce_crypto_go(qce, true);
 
        return 0;
 }