Thread (22 messages) flat view 22 messages, 8 authors, 2015-02-07

[PATCH] PCI: Fix pcibios_update_irq misuse of irq number

From: Marc Zyngier <hidden>
Date: 2015-02-03 11:38:00
Also in: linux-pci, lkml

On 03/02/15 11:31, Arnd Bergmann wrote:
On Tuesday 03 February 2015 10:38:25 Marc Zyngier wrote:
quoted
That's exactly what I thought until Lorenzo reported kvmtool falling
over because of this write. Obviously, some platforms must actually
require this (possibly for bridges that are not known by the firmware).
This sounds much like a bug in kvmtool.
Lorenzo and I just came to a similar conclusion, given that the HW
should never use that information.
quoted
Entirely removing that code solves my problem too, but that'd cannot be
the right solution...
The comment in pdev_fixup_irq() says 

        /* Always tell the device, so the driver knows what is
           the real IRQ to use; the device does not use it. */

which I read to mean that there are drivers that incorrectly use
'pci_read_config_byte(dev, PCI_INTERRUPT_LINE)' as the number
they pass into request_irq, rather than using dev->irq.
However, this means that your patch is actually wrong, because
what the driver cares about is the virtual irq number (which
request_irq expects), not the number relative to some interrupt
controller.
Yes, I now realise that. That makes a lot more sense actually, because I
was getting very confused about how the HW should interpret that number.

Side question: In the probe-only case, should we still allow this write
to happen?

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help