On Saturday 22 March 2014, behanw@xxxxxxxxxxxxxxxxxx wrote:Yours is a _much_ better idea. Will fix.
diff --git a/include/asm-generic/cmpxchg-local.h b/include/asm-generic/cmpxchg-local.h
index d8d4c89..4c41bb8 100644
--- a/include/asm-generic/cmpxchg-local.h
+++ b/include/asm-generic/cmpxchg-local.h
@@ -41,6 +41,7 @@ static inline unsigned long __cmpxchg_local_generic(volatile void *ptr,
break;
default:
wrong_size_cmpxchg(ptr);
+ prev = 0;
}
raw_local_irq_restore(flags);
return prev;
How about using __unreachable() instead to annotate the fact that you won't
get here?