drm/radeon: convert radeon vfct code to use acpi_get_table_with_size
authorAlex Deucher <alexander.deucher@amd.com>
Mon, 20 Aug 2012 15:06:21 +0000 (11:06 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 20 Aug 2012 15:13:05 +0000 (11:13 -0400)
Allows us to verify the table size.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/radeon/radeon_bios.c

index a32232fc7bd3fff193174a8c2c159ef5e4b81ab5..ab0b2f7292aeeef23d7eb5448ee4e5c560802b0d 100644 (file)
@@ -482,13 +482,12 @@ static bool radeon_acpi_vfct_bios(struct radeon_device *rdev)
 {
        bool ret = false;
        struct acpi_table_header *hdr;
-       /* acpi_get_table_with_size is not exported :( */
-       acpi_size tbl_size = 0x7fffffff;
+       acpi_size tbl_size;
        UEFI_ACPI_VFCT *vfct;
        GOP_VBIOS_CONTENT *vbios;
        VFCT_IMAGE_HEADER *vhdr;
 
-       if (!ACPI_SUCCESS(acpi_get_table("VFCT", 1, &hdr)))
+       if (!ACPI_SUCCESS(acpi_get_table_with_size("VFCT", 1, &hdr, &tbl_size)))
                return false;
        if (tbl_size < sizeof(UEFI_ACPI_VFCT)) {
                DRM_ERROR("ACPI VFCT table present but broken (too short #1)\n");
@@ -525,7 +524,6 @@ static bool radeon_acpi_vfct_bios(struct radeon_device *rdev)
        ret = !!rdev->bios;
 
 out_unmap:
-       /* uh, no idea what to do here... */
        return ret;
 }
 #else