]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
platform/x86: sony-laptop: Fix unintentional fall-through
authorGustavo A. R. Silva <gustavo@embeddedor.com>
Wed, 24 Apr 2019 18:09:34 +0000 (13:09 -0500)
committerBen Hutchings <ben@decadent.org.uk>
Mon, 23 Sep 2019 20:12:02 +0000 (21:12 +0100)
commit 1cbd7a64959d33e7a2a1fa2bf36a62b350a9fcbd upstream.

It seems that the default case should return AE_CTRL_TERMINATE, instead
of falling through to case ACPI_RESOURCE_TYPE_END_TAG and returning AE_OK;
otherwise the line of code at the end of the function is unreachable and
makes no sense:

return AE_CTRL_TERMINATE;

This fix is based on the following thread of discussion:

https://lore.kernel.org/patchwork/patch/959782/

Fixes: 33a04454527e ("sony-laptop: Add SNY6001 device handling (sonypi reimplementation)")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/platform/x86/sony-laptop.c

index e7ff8152ef2b7e0e5ecd823e76cc4010ec693d3c..87528c0ec793d28a3a4fa22a80dad93740ef33e6 100644 (file)
@@ -4401,14 +4401,16 @@ sony_pic_read_possible_resource(struct acpi_resource *resource, void *context)
                        }
                        return AE_OK;
                }
+
+       case ACPI_RESOURCE_TYPE_END_TAG:
+               return AE_OK;
+
        default:
                dprintk("Resource %d isn't an IRQ nor an IO port\n",
                        resource->type);
+               return AE_CTRL_TERMINATE;
 
-       case ACPI_RESOURCE_TYPE_END_TAG:
-               return AE_OK;
        }
-       return AE_CTRL_TERMINATE;
 }
 
 static int sony_pic_possible_resources(struct acpi_device *device)