selftests/powerpc: Do not fail with reschedule
[linux-2.6-block.git] / tools / testing / selftests / powerpc / tm / tm-unavailable.c
index 156c8e750259b07f9280b39b3a4fbd24acd71e87..09894f4ff62e6c65ecf647d2f73f10af4b363ed0 100644 (file)
@@ -236,7 +236,8 @@ void *tm_una_ping(void *input)
        }
 
        /* Check if we were not expecting a failure and a it occurred. */
-       if (!expecting_failure() && is_failure(cr_)) {
+       if (!expecting_failure() && is_failure(cr_) &&
+           !failure_is_reschedule()) {
                printf("\n\tUnexpected transaction failure 0x%02lx\n\t",
                        failure_code());
                return (void *) -1;
@@ -244,9 +245,11 @@ void *tm_una_ping(void *input)
 
        /*
         * Check if TM failed due to the cause we were expecting. 0xda is a
-        * TM_CAUSE_FAC_UNAV cause, otherwise it's an unexpected cause.
+        * TM_CAUSE_FAC_UNAV cause, otherwise it's an unexpected cause, unless
+        * it was caused by a reschedule.
         */
-       if (is_failure(cr_) && !failure_is_unavailable()) {
+       if (is_failure(cr_) && !failure_is_unavailable() &&
+           !failure_is_reschedule()) {
                printf("\n\tUnexpected failure cause 0x%02lx\n\t",
                        failure_code());
                return (void *) -1;