generic: fix crashlog patch for 3.6
authorGabor Juhos <juhosg@openwrt.org>
Sun, 28 Oct 2012 09:50:50 +0000 (09:50 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Sun, 28 Oct 2012 09:50:50 +0000 (09:50 +0000)
kmsg_dump() uses an iterator to receive log buffer
content since 3.5. Change the 'crashlog_do_dump'
function in order to make it compatible with the
new version.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 33970

target/linux/generic/patches-3.6/930-crashlog.patch

index 5231907f8b513724fe3d2c9fa10f8df63aa79836..b5eaba5ed497049997fed721bfe168892f6249f5 100644 (file)
@@ -43,7 +43,7 @@
  
 --- /dev/null
 +++ b/kernel/crashlog.c
-@@ -0,0 +1,190 @@
+@@ -0,0 +1,181 @@
 +/*
 + * Crash information logger
 + * Copyright (C) 2010 Felix Fietkau <nbd@openwrt.org>
 +}
 +
 +static void crashlog_do_dump(struct kmsg_dumper *dumper,
-+              enum kmsg_dump_reason reason, const char *s1, unsigned long l1,
-+              const char *s2, unsigned long l2)
++              enum kmsg_dump_reason reason)
 +{
-+      unsigned long s1_start, s2_start;
-+      unsigned long l1_cpy, l2_cpy;
 +      struct timeval tv;
 +      struct module *m;
 +      char *buf;
-+      int len;
++      size_t len;
 +
 +      if (!first)
 +              crashlog_printf("\n===================================\n");
 +      }
 +
 +      buf = (char *)&crashlog_buf->data[crashlog_buf->len];
-+      len = get_maxlen();
 +
-+      l2_cpy = min(l2, (unsigned long)len);
-+      l1_cpy = min(l1, (unsigned long)len - l2_cpy);
++      kmsg_dump_get_buffer(dumper, true, buf, get_maxlen(), &len);
 +
-+      s2_start = l2 - l2_cpy;
-+      s1_start = l1 - l1_cpy;
-+
-+      memcpy(buf, s1 + s1_start, l1_cpy);
-+      memcpy(buf + l1_cpy, s2 + s2_start, l2_cpy);
-+      crashlog_buf->len += l1_cpy + l2_cpy;
++      crashlog_buf->len += len;
 +}
 +
 +
 +      crashlog_buf->magic = CRASHLOG_MAGIC;
 +      crashlog_buf->len = 0;
 +
++      dump.max_reason = KMSG_DUMP_OOPS;
 +      dump.dump = crashlog_do_dump;
 +      kmsg_dump_register(&dump);
 +