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





------- Additional Comments From [EMAIL PROTECTED]  2006-05-02 15:41 -------
last modification was incorrect becouse when i put 'noapic' in boot options
usbhid  didn't work. Finaly with this modyfication my linux-2.6.17-rc3-git-5 has
no problems with usb mouse and booting.

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 == 0x0000 && pci_id->device == 0x0003 &&
pci_id->function != 0x0001 ) {
                ACPI_DEBUG_PRINT((ACPI_DB_INFO, "SKIP!\n" ));
        }
        else
        {
                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);
}

This function can work fine olny when pci_id->function is set to 1. Why is 
that?  

------- 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