efi/bgrt: Drop BGRT status field reserved bits check
authorHans de Goede <hdegoede@redhat.com>
Wed, 29 May 2019 13:28:28 +0000 (15:28 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 21 Jul 2019 07:04:38 +0000 (09:04 +0200)
[ Upstream commit a483fcab38b43fb34a7f12ab1daadd3907f150e2 ]

Starting with ACPI 6.2 bits 1 and 2 of the BGRT status field are no longer
reserved. These bits are now used to indicate if the image needs to be
rotated before being displayed.

The first device using these bits has now shown up (the GPD MicroPC) and
the reserved bits check causes us to reject the valid BGRT table on this
device.

Rather then changing the reserved bits check, allowing only the 2 new bits,
instead just completely remove it so that we do not end up with a similar
problem when more bits are added in the future.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/firmware/efi/efi-bgrt.c

index 50793fda78191da4d4889dcabf12744f71411254..e3d86aa1ad5d0df5a04fc6bb59428e5c9fef453a 100644 (file)
@@ -50,11 +50,6 @@ void __init efi_bgrt_init(struct acpi_table_header *table)
                       bgrt->version);
                goto out;
        }
-       if (bgrt->status & 0xfe) {
-               pr_notice("Ignoring BGRT: reserved status bits are non-zero %u\n",
-                      bgrt->status);
-               goto out;
-       }
        if (bgrt->image_type != 0) {
                pr_notice("Ignoring BGRT: invalid image type %u (expected 0)\n",
                       bgrt->image_type);