FAILURE
if (nmi_fail == FAILURE)
nmi_fail = FAILURE;
return FAILURE;
return FAILURE;
return FAILURE;
#ifndef FAILURE
return (void *)FAILURE;
return (int)FAILURE;
return (int)FAILURE;
return (int)FAILURE;
return (int)FAILURE;
return (int)FAILURE;
return (int)FAILURE;
int rc = FAILURE;
rdp_context->cmpl(phba, rdp_context, FAILURE);
rdp_context->cmpl(phba, rdp_context, FAILURE);
if (expected == FAILURE && debug_locks) {
dotest(name##_##nr, FAILURE, LOCKTYPE_RWLOCK); \
dotest(name##_##nr, FAILURE, LOCKTYPE_RWLOCK); \
dotest(name##_spin_##nr, FAILURE, LOCKTYPE_SPIN); \
dotest(name##_wlock_##nr, FAILURE, LOCKTYPE_RWLOCK); \
dotest(name##_spin_##nr, FAILURE, LOCKTYPE_SPIN|LOCKTYPE_RWLOCK);\
dotest(name##_wlock_##nr, FAILURE, LOCKTYPE_RWLOCK); \
dotest(name##_wlock_##nr, FAILURE, LOCKTYPE_RWLOCK); \
dotest(name##_spin, FAILURE, LOCKTYPE_SPIN); \
dotest(name##_wlock, FAILURE, LOCKTYPE_RWLOCK); \
dotest(name##_rlock, FAILURE, LOCKTYPE_RWLOCK); \
dotest(name##_mutex, FAILURE, LOCKTYPE_MUTEX); \
dotest(name##_wsem, FAILURE, LOCKTYPE_RWSEM); \
dotest(name##_rsem, FAILURE, LOCKTYPE_RWSEM); \
dotest_rt(name##_rtmutex, FAILURE, LOCKTYPE_RTMUTEX); \
dotest(name##_spin, FAILURE, LOCKTYPE_SPIN); \
dotest(name##_wlock, FAILURE, LOCKTYPE_RWLOCK); \
dotest(name##_mutex, FAILURE, LOCKTYPE_MUTEX); \
dotest(name##_wsem, FAILURE, LOCKTYPE_RWSEM); \
dotest(name##_rsem, FAILURE, LOCKTYPE_RWSEM); \
dotest_rt(name##_rtmutex, FAILURE, LOCKTYPE_RTMUTEX); \
dotest(ww_test_unneeded_slow, FAILURE, LOCKTYPE_WW);
dotest(ww_test_two_contexts, FAILURE, LOCKTYPE_WW);
dotest(ww_test_diff_class, FAILURE, LOCKTYPE_WW);
dotest(ww_test_context_done_twice, FAILURE, LOCKTYPE_WW);
dotest(ww_test_context_unlock_twice, FAILURE, LOCKTYPE_WW);
dotest(ww_test_context_fini_early, FAILURE, LOCKTYPE_WW);
dotest(ww_test_context_lock_after_done, FAILURE, LOCKTYPE_WW);
dotest(ww_test_object_unlock_twice, FAILURE, LOCKTYPE_WW);
dotest(ww_test_object_lock_unbalanced, FAILURE, LOCKTYPE_WW);
dotest(ww_test_object_lock_stale_context, FAILURE, LOCKTYPE_WW);
dotest(ww_test_edeadlk_no_unlock, FAILURE, LOCKTYPE_WW);
dotest(ww_test_edeadlk_no_unlock_slow, FAILURE, LOCKTYPE_WW);
dotest(ww_test_edeadlk_acquire_more, FAILURE, LOCKTYPE_WW);
dotest(ww_test_edeadlk_acquire_more_slow, FAILURE, LOCKTYPE_WW);
dotest(ww_test_edeadlk_acquire_more_edeadlk, FAILURE, LOCKTYPE_WW);
dotest(ww_test_edeadlk_acquire_more_edeadlk_slow, FAILURE, LOCKTYPE_WW);
dotest(ww_test_edeadlk_acquire_wrong, FAILURE, LOCKTYPE_WW);
dotest(ww_test_edeadlk_acquire_wrong_slow, FAILURE, LOCKTYPE_WW);
dotest(ww_test_spin_nest_unlocked, FAILURE, LOCKTYPE_WW);
dotest(ww_test_context_block, FAILURE, LOCKTYPE_WW);
dotest(ww_test_try_block, FAILURE, LOCKTYPE_WW);
dotest(ww_test_try_context, FAILURE, LOCKTYPE_WW);
dotest(ww_test_block_block, FAILURE, LOCKTYPE_WW);
dotest(ww_test_block_context, FAILURE, LOCKTYPE_WW);
dotest(ww_test_spin_block, FAILURE, LOCKTYPE_WW);
dotest(ww_test_spin_context, FAILURE, LOCKTYPE_WW);
dotest(queued_read_lock_hardirq_RE_Er, FAILURE, LOCKTYPE_RWLOCK);
dotest(queued_read_lock_hardirq_inversion, FAILURE, LOCKTYPE_RWLOCK);
dotest(fs_reclaim_wrong_nesting, FAILURE, 0);
dotest(mutex_in_##outer, FAILURE, LOCKTYPE_MUTEX); \
dotest(spinlock_in_##outer, FAILURE, LOCKTYPE_SPIN); \
dotest(mutex_in_##outer, FAILURE, LOCKTYPE_MUTEX); \
dotest(local_lock_3B, FAILURE, LOCKTYPE_LL);
dotest(rsem_AA1, FAILURE, LOCKTYPE_RWSEM);
dotest(rsem_AA1B, FAILURE, LOCKTYPE_RWSEM);
dotest(rlock_AA2, FAILURE, LOCKTYPE_RWLOCK);
dotest(rsem_AA2, FAILURE, LOCKTYPE_RWSEM);
dotest(rlock_AA3, FAILURE, LOCKTYPE_RWLOCK);
dotest(rsem_AA3, FAILURE, LOCKTYPE_RWSEM);
dotest(rlock_ABBA1, FAILURE, LOCKTYPE_RWLOCK);
dotest(rwsem_ABBA1, FAILURE, LOCKTYPE_RWSEM);
dotest(rwsem_ABBA2, FAILURE, LOCKTYPE_RWSEM);
dotest(rlock_ABBA3, FAILURE, LOCKTYPE_RWLOCK);
dotest(rwsem_ABBA3, FAILURE, LOCKTYPE_RWSEM);
dotest(rlock_chaincache_ABBA1, FAILURE, LOCKTYPE_RWLOCK);
dotest(hardirq_deadlock_softirq_not_deadlock, FAILURE, LOCKTYPE_SPECIAL);