diff --git a/drivers/s390/char/sclp.c b/drivers/s390/char/sclp.c
index 027cdc18df31409fc8485334872cccff6bbbf97e..c1dd19bb7bf85e44522c0fa1eee1b5d3ac43cc37 100644
--- a/drivers/s390/char/sclp.c
+++ b/drivers/s390/char/sclp.c
@@ -433,7 +433,6 @@ sclp_sync_wait(void)
 		    get_clock() > timeout &&
 		    del_timer(&sclp_request_timer))
 			sclp_request_timer.function(sclp_request_timer.data);
-		barrier();
 		cpu_relax();
 	}
 	local_irq_disable();
diff --git a/include/asm-s390/processor.h b/include/asm-s390/processor.h
index cbbedc63ba25bac653aba4363ea5e1c6c2822fbb..5dc6b938895f451ba7df408b9e9efc31c3b164c5 100644
--- a/include/asm-s390/processor.h
+++ b/include/asm-s390/processor.h
@@ -201,9 +201,8 @@ unsigned long get_wchan(struct task_struct *p);
 static inline void cpu_relax(void)
 {
 	if (MACHINE_HAS_DIAG44)
-		asm volatile("diag 0,0,68" : : : "memory");
-	else
-		barrier();
+		asm volatile("diag 0,0,68");
+	barrier();
 }
 
 /*