lib: Downgrade BUG* assertions to work-around crashes

BUG() and BUG_ON() didn't use to assert, but only print an error if
debugging was enabled. This was hiding a lot of state bugs in drivers,
and transforming those into assertions causes crashes.

Downgrade the assertion to only print a warning, and hope that those
eventually get fixed in the drivers so we can re-enable them.

Closes: #77
This commit is contained in:
Bastien Nocera 2018-07-03 11:37:20 +02:00
parent 21504c0621
commit b1ac865abd

View file

@ -44,8 +44,14 @@
#define fp_warn g_warning #define fp_warn g_warning
#define fp_err g_error #define fp_err g_error
#define BUG_ON(condition) g_assert(!(condition)) #define BUG_ON(condition) G_STMT_START \
#define BUG() g_assert_not_reached() if (condition) { \
char *s; \
s = g_strconcat ("BUG: (", #condition, ")", NULL); \
g_warning ("%s: %s() %s:%d", s, G_STRFUNC, __FILE__, __LINE__); \
g_free (s); \
} G_STMT_END
#define BUG() BUG_ON(1)
enum fp_dev_state { enum fp_dev_state {
DEV_STATE_INITIAL = 0, DEV_STATE_INITIAL = 0,