Skip to content

Commit 930ffc0

Browse files
committed
Merge branch 'pci/virtualization' into next
* pci/virtualization: PCI: xilinx: Relax device number checking to allow SR-IOV PCI: designware: Relax device number checking to allow SR-IOV PCI: altera: Relax device number checking to allow SR-IOV PCI: Check for pci_setup_device() failure in pci_iov_add_virtfn() PCI: Mark Atheros AR9580 to avoid bus reset
2 parents e15194d + 8e7ca8c commit 930ffc0

File tree

5 files changed

+5
-22
lines changed

5 files changed

+5
-22
lines changed

drivers/pci/host/pcie-altera.c

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -174,13 +174,6 @@ static bool altera_pcie_valid_config(struct altera_pcie *pcie,
174174
if (bus->number == pcie->root_bus_nr && dev > 0)
175175
return false;
176176

177-
/*
178-
* Do not read more than one device on the bus directly attached
179-
* to root port, root port can only attach to one downstream port.
180-
*/
181-
if (bus->primary == pcie->root_bus_nr && dev > 0)
182-
return false;
183-
184177
return true;
185178
}
186179

drivers/pci/host/pcie-designware.c

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -672,13 +672,6 @@ static int dw_pcie_valid_config(struct pcie_port *pp,
672672
if (bus->number == pp->root_bus_nr && dev > 0)
673673
return 0;
674674

675-
/*
676-
* do not read more than one device on the bus directly attached
677-
* to RC's (Virtual Bridge's) DS side.
678-
*/
679-
if (bus->primary == pp->root_bus_nr && dev > 0)
680-
return 0;
681-
682675
return 1;
683676
}
684677

drivers/pci/host/pcie-xilinx.c

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -168,13 +168,6 @@ static bool xilinx_pcie_valid_device(struct pci_bus *bus, unsigned int devfn)
168168
if (bus->number == port->root_busno && devfn > 0)
169169
return false;
170170

171-
/*
172-
* Do not read more than one device on the bus directly attached
173-
* to RC.
174-
*/
175-
if (bus->primary == port->root_busno && devfn > 0)
176-
return false;
177-
178171
return true;
179172
}
180173

drivers/pci/iov.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,10 @@ int pci_iov_add_virtfn(struct pci_dev *dev, int id, int reset)
136136
virtfn->devfn = pci_iov_virtfn_devfn(dev, id);
137137
virtfn->vendor = dev->vendor;
138138
pci_read_config_word(dev, iov->pos + PCI_SRIOV_VF_DID, &virtfn->device);
139-
pci_setup_device(virtfn);
139+
rc = pci_setup_device(virtfn);
140+
if (rc)
141+
goto failed0;
142+
140143
virtfn->dev.parent = dev->dev.parent;
141144
virtfn->physfn = pci_dev_get(dev);
142145
virtfn->is_virtfn = 1;

drivers/pci/quirks.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3198,6 +3198,7 @@ static void quirk_no_bus_reset(struct pci_dev *dev)
31983198
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0030, quirk_no_bus_reset);
31993199
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0032, quirk_no_bus_reset);
32003200
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x003c, quirk_no_bus_reset);
3201+
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0033, quirk_no_bus_reset);
32013202

32023203
static void quirk_no_pm_reset(struct pci_dev *dev)
32033204
{

0 commit comments

Comments
 (0)