Re: MSI broken in libata?

Robert Hancock
2010-01-22T00:53:17Z

On Wed, Jan 20, 2010 at 12:48 AM, Torsten Kaiser
<just.for.lkml@googlemail.com> wrote:
>>> Output of the __assign_irq:
>>> 4x PCIe bridge:
>>> [    1.759016] __assign_irq_vector:assigning irq 24 to vector 73
>>> [    1.764928] __assign_irq_vector:assigning irq 25 to vector 81
>>> [    1.770827] __assign_irq_vector:assigning irq 26 to vector 89
>>> [    1.776720] __assign_irq_vector:assigning irq 27 to vector 97
>>> sata_sil24 first gets 19:
>>> [    1.856245] __assign_irq_vector:assigning irq 19 to vector 105
>>> then switches to MSI-28:
>>> [    1.870768] __assign_irq_vector:assigning irq 28 to vector 113
>>> 3 normal interrupts for sata_nv:
>>> [    1.908504] __assign_irq_vector:assigning irq 23 to vector 121
>>> [    1.953848] __assign_irq_vector:assigning irq 22 to vector 129
>>> [    1.999155] __assign_irq_vector:assigning irq 21 to vector 137
>>>
>>> Writing failed again without a message, but the read test showed:
>>> [   85.695745] do_IRQ: 0.165 No irq handler for vector (irq -1)
>>> [   85.695763] do_IRQ: 1.165 No irq handler for vector (irq -1)
>>> [   85.695785] do_IRQ: 3.165 No irq handler for vector (irq -1)
>>> [   85.695800] do_IRQ: 2.165 No irq handler for vector (irq -1)
>>> Same vector in this error, but sata_sil24 had MSI irq 28 instead of 29!
>>> And the vector allocations where not even near 165!
>>
>> Hmm.. Can you send the output of lspci -vv with MSI in use?
>
> I had already done so at the start of this thread, both for MSI and
> the normal, working case:
> http://lkml.org/lkml/2009/12/25/12
> ( http://marc.info/?l=linux-kernel&m=126173296807440&w=2 might be
> better, als lkml.org seems to eat the attachment borders)
>
> For the minimal kernel with only the sata_nv and sata_sil24 drivers
> the output looks like this:

Well, that doesn't seem that illuminating. Still mysterious where 165
could be coming from.

Anyone have any ideas how random IRQ vectors could be showing up on
the APIC with MSI?