summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.mailmap2
-rw-r--r--MAINTAINERS6
-rw-r--r--drivers/gpu/drm/drm_panic.c12
3 files changed, 14 insertions, 6 deletions
diff --git a/.mailmap b/.mailmap
index 0a0be49bc4de..58a16f667443 100644
--- a/.mailmap
+++ b/.mailmap
@@ -510,10 +510,12 @@ Kiran Gunda <quic_kgunda@quicinc.com> <kgunda@codeaurora.org>
Kirill Tkhai <tkhai@ya.ru> <ktkhai@virtuozzo.com>
Kiryl Shutsemau <kas@kernel.org> <kirill.shutemov@linux.intel.com>
Kishon Vijay Abraham I <kishon@kernel.org> <kishon@ti.com>
+Koby Elbaz <elbaz.koby@gmail.com> <koby.elbaz@intel.com>
Konrad Dybcio <konradybcio@kernel.org> <konrad.dybcio@linaro.org>
Konrad Dybcio <konradybcio@kernel.org> <konrad.dybcio@somainline.org>
Konstantin Khlebnikov <koct9i@gmail.com> <khlebnikov@yandex-team.ru>
Konstantin Khlebnikov <koct9i@gmail.com> <k.khlebnikov@samsung.com>
+Konstantin Sinyuk <ksinyuk@kernel.org> <konstantin.sinyuk@intel.com>
Koushik <raghavendra.koushik@neterion.com>
Krishna Manikandan <quic_mkrishn@quicinc.com> <mkrishn@codeaurora.org>
Krzysztof Kozlowski <krzk@kernel.org> <k.kozlowski.k@gmail.com>
diff --git a/MAINTAINERS b/MAINTAINERS
index d5bd66ed1a02..4114a039f7c3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -11441,10 +11441,10 @@ S: Maintained
F: block/partitions/efi.*
HABANALABS PCI DRIVER
-M: Koby Elbaz <koby.elbaz@intel.com>
-M: Konstantin Sinyuk <konstantin.sinyuk@intel.com>
+M: Konstantin Sinyuk <ksinyuk@kernel.org>
+M: Koby Elbaz <elbaz.koby@gmail.com>
L: dri-devel@lists.freedesktop.org
-S: Supported
+S: Maintained
C: irc://irc.oftc.net/dri-devel
T: git https://github.com/HabanaAI/drivers.accel.habanalabs.kernel.git
F: Documentation/ABI/testing/debugfs-driver-habanalabs
diff --git a/drivers/gpu/drm/drm_panic.c b/drivers/gpu/drm/drm_panic.c
index e576c4791861..5109bfd5d889 100644
--- a/drivers/gpu/drm/drm_panic.c
+++ b/drivers/gpu/drm/drm_panic.c
@@ -556,7 +556,8 @@ static void draw_panic_screen_kmsg(struct drm_scanout_buffer *sb)
const struct font_desc *font = get_default_font(sb->width, sb->height, NULL, NULL);
struct drm_rect r_screen = DRM_RECT_INIT(0, 0, sb->width, sb->height);
struct kmsg_dump_iter iter;
- char kmsg_buf[512];
+ /* the size printk formats one record into, too big for the stack */
+ static char kmsg_buf[2048];
size_t kmsg_len;
struct drm_panic_line line;
int yoffset;
@@ -570,10 +571,15 @@ static void draw_panic_screen_kmsg(struct drm_scanout_buffer *sb)
drm_panic_fill(sb, &r_screen, bg_color);
kmsg_dump_rewind(&iter);
- while (kmsg_dump_get_buffer(&iter, false, kmsg_buf, sizeof(kmsg_buf), &kmsg_len)) {
+ while (yoffset >= 0 && kmsg_dump_get_buffer(&iter, false, kmsg_buf,
+ sizeof(kmsg_buf), &kmsg_len)) {
char *start;
char *end;
+ /* a record that does not fit comes back empty, every time */
+ if (!kmsg_len)
+ break;
+
/* ignore terminating NUL and newline */
start = kmsg_buf + kmsg_len - 2;
end = kmsg_buf + kmsg_len - 1;
@@ -834,7 +840,7 @@ static int drm_panic_type_set(const char *val, const struct kernel_param *kp)
unsigned int i;
for (i = 0; i < ARRAY_SIZE(drm_panic_type_map); i++) {
- if (!strcmp(val, drm_panic_type_map[i])) {
+ if (sysfs_streq(val, drm_panic_type_map[i])) {
drm_panic_type = i;
return 0;
}