powerpc/powernv: Use the "unknown" checkstop type as a fallback
authorRussell Currey <ruscur@russell.cc>
Tue, 15 Mar 2016 10:14:12 +0000 (21:14 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 11 Apr 2016 10:30:40 +0000 (20:30 +1000)
The HMI code knows about three types of errors: CORE, NX and UNKNOWN.
If OPAL were to add a new type, it would not be handled at all since
there is no fallback case.  Instead of explicitly checking for UNKNOWN,
treat any checkstop type without a handler as unknown.

Signed-off-by: Russell Currey <ruscur@russell.cc>
Reviewed-by: Daniel Axtens <dja@axtens.net>
Reviewed-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/platforms/powernv/opal-hmi.c

index d000f4e..c0a8201 100644 (file)
@@ -150,15 +150,17 @@ static void print_nx_checkstop_reason(const char *level,
 static void print_checkstop_reason(const char *level,
                                        struct OpalHMIEvent *hmi_evt)
 {
-       switch (hmi_evt->u.xstop_error.xstop_type) {
+       uint8_t type = hmi_evt->u.xstop_error.xstop_type;
+       switch (type) {
        case CHECKSTOP_TYPE_CORE:
                print_core_checkstop_reason(level, hmi_evt);
                break;
        case CHECKSTOP_TYPE_NX:
                print_nx_checkstop_reason(level, hmi_evt);
                break;
-       case CHECKSTOP_TYPE_UNKNOWN:
-               printk("%s      Unknown Malfunction Alert.\n", level);
+       default:
+               printk("%s      Unknown Malfunction Alert of type %d\n",
+                      level, type);
                break;
        }
 }