Revert "ACPI: make some IO ports off-limits to AML"
authorLen Brown <len.brown@intel.com>
Wed, 25 Feb 2009 23:00:18 +0000 (18:00 -0500)
committerLen Brown <len.brown@intel.com>
Mon, 16 Mar 2009 04:35:29 +0000 (00:35 -0400)
This reverts commit 5ec5d38a1c8af255ffc481c81eef13e9155524b3.
because it caused spurious dmesg warmings.
We'll implement the check for off-limit ports
in a more clever way in the future.

http://bugzilla.kernel.org/show_bug.cgi?id=12758

Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/osl.c

index b3193ec..1e35f34 100644 (file)
@@ -1317,54 +1317,6 @@ acpi_os_validate_interface (char *interface)
        return AE_SUPPORT;
 }
 
-#ifdef CONFIG_X86
-
-struct aml_port_desc {
-       uint    start;
-       uint    end;
-       char*   name;
-       char    warned;
-};
-
-static struct aml_port_desc aml_invalid_port_list[] = {
-       {0x20, 0x21, "PIC0", 0},
-       {0xA0, 0xA1, "PIC1", 0},
-       {0x4D0, 0x4D1, "ELCR", 0}
-};
-
-/*
- * valid_aml_io_address()
- *
- * if valid, return true
- * else invalid, warn once, return false
- */
-static bool valid_aml_io_address(uint address, uint length)
-{
-       int i;
-       int entries = sizeof(aml_invalid_port_list) / sizeof(struct aml_port_desc);
-
-       for (i = 0; i < entries; ++i) {
-               if ((address >= aml_invalid_port_list[i].start &&
-                       address <= aml_invalid_port_list[i].end) ||
-                       (address + length >= aml_invalid_port_list[i].start &&
-                       address  + length <= aml_invalid_port_list[i].end))
-               {
-                       if (!aml_invalid_port_list[i].warned)
-                       {
-                               printk(KERN_ERR "ACPI: Denied BIOS AML access"
-                                       " to invalid port 0x%x+0x%x (%s)\n",
-                                       address, length,
-                                       aml_invalid_port_list[i].name);
-                               aml_invalid_port_list[i].warned = 1;
-                       }
-                       return false;   /* invalid */
-               }
-       }
-       return true;    /* valid */
-}
-#else
-static inline bool valid_aml_io_address(uint address, uint length) { return true; }
-#endif
 /******************************************************************************
  *
  * FUNCTION:    acpi_os_validate_address
@@ -1394,8 +1346,6 @@ acpi_os_validate_address (
 
        switch (space_id) {
        case ACPI_ADR_SPACE_SYSTEM_IO:
-               if (!valid_aml_io_address(address, length))
-                       return AE_AML_ILLEGAL_ADDRESS;
        case ACPI_ADR_SPACE_SYSTEM_MEMORY:
                /* Only interference checks against SystemIO and SytemMemory
                   are needed */