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





------- Additional Comments From [EMAIL PROTECTED]  2006-04-29 11:38 -------
Modify 

file: /usr/src/linux/drivers/acpi/executer/exregion.c
function: acpi_ex_pci_config_space_handler

acpi_status
acpi_ex_pci_config_space_handler(u32 function,
                                 acpi_physical_address address,
                                 u32 bit_width,
                                 acpi_integer * value,
                                 void *handler_context, void *region_context)
{
        acpi_status status = AE_OK;
        struct acpi_pci_id *pci_id;
        u16 pci_register;

        ACPI_FUNCTION_TRACE("ex_pci_config_space_handler");

        /*
         *  The arguments to acpi_os(Read|Write)pci_configuration are:
         *
         *  pci_segment is the PCI bus segment range 0-31
         *  pci_bus     is the PCI bus number range 0-255
         *  pci_device  is the PCI device number range 0-31
         *  pci_function is the PCI device function number
         *  pci_register is the Config space register range 0-255 bytes
         *
         *  Value - input value for write, output address for read
         *
         */
        pci_id = (struct acpi_pci_id *)region_context;
        pci_register = (u16) (u32) address;

        ACPI_DEBUG_PRINT((ACPI_DB_INFO,
                          "pci_config %d (%d) Seg(%04x) Bus(%04x) Dev(%04x)
Func(%04x) Reg(%04x)\n",
                          function, bit_width, pci_id->segment, pci_id->bus,
                          pci_id->device, pci_id->function, pci_register));

        if ( pci_id->bus != 0 && pci_id->device != 3 ) { // ASUS A6Km usb lockup
        
                switch (function) {
                case ACPI_READ:

                        *value = 0;
                        status = acpi_os_read_pci_configuration(pci_id,
pci_register,
                                                                value, 
bit_width);
                        break;

                case ACPI_WRITE:

                        status = acpi_os_write_pci_configuration(pci_id,
pci_register,
                                                                 *value, 
bit_width);
                        break;

                default:

                        status = AE_BAD_PARAMETER;
                        break;
                }
        }

        return_ACPI_STATUS(status);
}

If enybody knows how to check if this function is dealing with this notebook
pleas write it. I think that this functions makes some initialization in pci
area and if it is bus 0 device 3 it can skip it because asus a6km makes it. 
This is kernel 2.6.17-rc3 modyfication.

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
acpi-bugzilla mailing list
acpi-bugzilla@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla

Reply via email to