Re: Bug in pci_restore_msi_state

From: Thomas Meyer
Date: Tue Mar 20 2007 - 17:07:00 EST


Pekka Enberg schrieb:
> On 3/17/07, Thomas Meyer <thomas@xxxxxxxx> wrote:
>> Hello everybody.
>>
>> I get this bug after suspending to disk twice:
>>
>> http://m3y3r.de/bilder/Bug-pci_restore_msi_state.png
>>
>> This happens with current git head
>> cd05a1f818073a623455a58e756c5b419fc98db9.
>
> If you know a kernel that works, please consider doing git bisect:
>
> http://www.kernel.org/pub/software/scm/git/docs/howto/isolate-bugs-with-bisect.txt
>
>

Ok. The error happens in the call of pcibios_enable_device in the
function do_pci_enable_device (drivers/pci/pci.c):

Before the call of pcibios_enable_device:

do_pci_enable_device: pci_dev= c1a40000
do_pci_enable_device: irq= 218
do_pci_enable_device: msi_enabled= 1

after the call:
ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 19 (level, low) -> IRQ 19

do_pci_enable_device: pci_dev= c1a40000
do_pci_enable_device: irq= 19
do_pci_enable_device: msi_enabled= 1


So the function acpi_pci_irq_enable in drivers/acpi/pci_irq.c needs to
be fixed:

a.) acpi_pci_irq_enable should care about msi setups and set the flag
msi_enabled to 0 or
b.) acpi_pci_irq_enable should care about msi setups and should touch
the dev->irq field.

Please comment on this.

with kind regards
thomas


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/