]> err.no Git - linux-2.6/blobdiff - include/asm-s390/processor.h
Merge head 'upstream' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev
[linux-2.6] / include / asm-s390 / processor.h
index 8bd14de69e35bf5cbbe5c1dcc5ab4a5cffc1b4a1..4ec652ebb3b1910bb80d80c4926080eb49216244 100644 (file)
@@ -203,7 +203,10 @@ unsigned long get_wchan(struct task_struct *p);
 # define cpu_relax()   asm volatile ("diag 0,0,68" : : : "memory")
 #else /* __s390x__ */
 # define cpu_relax() \
-       asm volatile ("ex 0,%0" : : "i" (__LC_DIAG44_OPCODE) : "memory")
+       do { \
+               if (MACHINE_HAS_DIAG44) \
+                       asm volatile ("diag 0,0,68" : : : "memory"); \
+       } while (0)
 #endif /* __s390x__ */
 
 /*