platform/x86: wmi: Fix printing info about WDG structure
authorPali Rohár <pali.rohar@gmail.com>
Sat, 10 Jun 2017 10:57:11 +0000 (12:57 +0200)
committerDarren Hart (VMware) <dvhart@infradead.org>
Tue, 13 Jun 2017 18:00:21 +0000 (11:00 -0700)
object_id and notify_id are in one union structure and their meaning is
defined by flags. Therefore do not print notify_id for non-event block and
do not print object_id for event block. Remove also reserved member as it
does not have any defined meaning or type yet.

As object_id and notify_id union members overlaps and have different types,
it caused that kernel print to dmesg binary data. This patch eliminates it.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
drivers/platform/x86/wmi.c

index 4bfc3b0..1a764e3 100644 (file)
@@ -421,9 +421,10 @@ EXPORT_SYMBOL_GPL(wmi_set_block);
 static void wmi_dump_wdg(const struct guid_block *g)
 {
        pr_info("%pUL:\n", g->guid);
-       pr_info("\tobject_id: %c%c\n", g->object_id[0], g->object_id[1]);
-       pr_info("\tnotify_id: %02X\n", g->notify_id);
-       pr_info("\treserved: %02X\n", g->reserved);
+       if (g->flags & ACPI_WMI_EVENT)
+               pr_info("\tnotify_id: 0x%02X\n", g->notify_id);
+       else
+               pr_info("\tobject_id: %2pE\n", g->object_id);
        pr_info("\tinstance_count: %d\n", g->instance_count);
        pr_info("\tflags: %#x", g->flags);
        if (g->flags) {