]> Git Repo - J-u-boot.git/blobdiff - lib/panic.c
usb: gadget: dwc3: Convert interrupt handling to usb_gadget_generic_ops
[J-u-boot.git] / lib / panic.c
index e2b8b74b7cd418566466ff308d15f7ebe2cba5bb..0f578b5b5131589d215f5f4b16b95d9c9f3e8ce3 100644 (file)
@@ -9,10 +9,12 @@
  * Wirzenius wrote this portably, Torvalds fucked it up :-)
  */
 
-#include <common.h>
+#include <hang.h>
 #if !defined(CONFIG_PANIC_HANG)
 #include <command.h>
 #endif
+#include <linux/delay.h>
+#include <stdio.h>
 
 static void panic_finish(void) __attribute__ ((noreturn));
 
@@ -22,7 +24,8 @@ static void panic_finish(void)
 #if defined(CONFIG_PANIC_HANG)
        hang();
 #else
-       udelay(100000); /* allow messages to go out */
+       flush();  /* flush the panic message before reset */
+
        do_reset(NULL, 0, 0, NULL);
 #endif
        while (1)
@@ -37,9 +40,19 @@ void panic_str(const char *str)
 
 void panic(const char *fmt, ...)
 {
+#if CONFIG_IS_ENABLED(PRINTF)
        va_list args;
        va_start(args, fmt);
        vprintf(fmt, args);
        va_end(args);
+#endif
        panic_finish();
 }
+
+void __assert_fail(const char *assertion, const char *file, unsigned int line,
+                  const char *function)
+{
+       /* This will not return */
+       panic("%s:%u: %s: Assertion `%s' failed.", file, line, function,
+             assertion);
+}
This page took 0.025918 seconds and 4 git commands to generate.