/* Cleanup controller */
        writel(0, host->base + S3C2410_SDICMDARG);
-       writel(0, host->base + S3C2410_SDIDCON);
+       writel(S3C2410_SDIDCON_STOP, host->base + S3C2410_SDIDCON);
        writel(0, host->base + S3C2410_SDICMDCON);
        writel(0, host->base + host->sdiimsk);
 
                dbg(host, dbg_err,
                    "mci_setup_data() transfer stillin progress.\n");
 
-               writel(0, host->base + S3C2410_SDIDCON);
+               writel(S3C2410_SDIDCON_STOP, host->base + S3C2410_SDIDCON);
                s3cmci_reset(host);
 
                if ((stoptries--) == 0) {