]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
platform/x86: wmi: Fix check for method instance number
authorPali Rohár <pali.rohar@gmail.com>
Sat, 12 Aug 2017 07:44:18 +0000 (09:44 +0200)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 18 Aug 2017 12:10:40 +0000 (15:10 +0300)
instance_count defines number of instances of data block and instance
itself is indexed from zero, which means first instance has number 0.
Therefore check for invalid instance should be non-strict inequality.

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

index e32ba575e8d9e2bfe3f1ff398c90ddbfe87196bf..0765b1797d4c0d35cd58f588d8c4717bf6b1179d 100644 (file)
@@ -218,7 +218,7 @@ u32 method_id, const struct acpi_buffer *in, struct acpi_buffer *out)
        if (!(block->flags & ACPI_WMI_METHOD))
                return AE_BAD_DATA;
 
-       if (block->instance_count < instance)
+       if (block->instance_count <= instance)
                return AE_BAD_PARAMETER;
 
        input.count = 2;
@@ -265,7 +265,7 @@ static acpi_status __query_block(struct wmi_block *wblock, u8 instance,
        block = &wblock->gblock;
        handle = wblock->acpi_device->handle;
 
-       if (block->instance_count < instance)
+       if (block->instance_count <= instance)
                return AE_BAD_PARAMETER;
 
        /* Check GUID is a data block */
@@ -392,7 +392,7 @@ acpi_status wmi_set_block(const char *guid_string, u8 instance,
        block = &wblock->gblock;
        handle = wblock->acpi_device->handle;
 
-       if (block->instance_count < instance)
+       if (block->instance_count <= instance)
                return AE_BAD_PARAMETER;
 
        /* Check GUID is a data block */