On Wed, 17 Jan 2018 19:30:29 +0100 KarimAllah Ahmed <karahmed@xxxxxxxxx> wrote: > ... since INTx is not supported by-spec for virtual functions. But the spec also states that VFs must implement the interrupt pin register as read-only zero, so either this is redundant or it's a workaround for VFs that aren't quite compliant? Thanks, Alex > > Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > Cc: linux-pci@xxxxxxxxxxxxxxx > Cc: linux-kernel@xxxxxxxxxxxxxxx > Signed-off-by: KarimAllah Ahmed <karahmed@xxxxxxxxx> > Signed-off-by: Jan H. Schönherr <jschoenh@xxxxxxxxx> > --- > drivers/pci/probe.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c > index 65099d0..61002fb 100644 > --- a/drivers/pci/probe.c > +++ b/drivers/pci/probe.c > @@ -1232,6 +1232,13 @@ static void pci_read_irq(struct pci_dev *dev) > { > unsigned char irq; > > + /* Virtual functions do not have INTx support */ > + if (dev->is_virtfn) { > + dev->pin = 0; > + dev->irq = 0; > + return; > + } > + > pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &irq); > dev->pin = irq; > if (irq)