|
@@ -400,16 +400,16 @@ void aer_do_secondary_bus_reset(struct pci_dev *dev)
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * default_downstream_reset_link - default reset function for Downstream Port
|
|
|
- * @dev: pointer to downstream port's pci_dev data structure
|
|
|
+ * default_reset_link - default reset function
|
|
|
+ * @dev: pointer to pci_dev data structure
|
|
|
*
|
|
|
- * Invoked when performing link reset at Downstream Port w/ no aer driver.
|
|
|
+ * Invoked when performing link reset on a Downstream Port or a
|
|
|
+ * Root Port with no aer driver.
|
|
|
*/
|
|
|
-static pci_ers_result_t default_downstream_reset_link(struct pci_dev *dev)
|
|
|
+static pci_ers_result_t default_reset_link(struct pci_dev *dev)
|
|
|
{
|
|
|
aer_do_secondary_bus_reset(dev);
|
|
|
- dev_printk(KERN_DEBUG, &dev->dev,
|
|
|
- "Downstream Port link has been reset\n");
|
|
|
+ dev_printk(KERN_DEBUG, &dev->dev, "downstream link has been reset\n");
|
|
|
return PCI_ERS_RESULT_RECOVERED;
|
|
|
}
|
|
|
|
|
@@ -458,8 +458,9 @@ static pci_ers_result_t reset_link(struct pci_dev *dev)
|
|
|
|
|
|
if (driver && driver->reset_link) {
|
|
|
status = driver->reset_link(udev);
|
|
|
- } else if (pci_pcie_type(udev) == PCI_EXP_TYPE_DOWNSTREAM) {
|
|
|
- status = default_downstream_reset_link(udev);
|
|
|
+ } else if (pci_pcie_type(udev) == PCI_EXP_TYPE_DOWNSTREAM ||
|
|
|
+ pci_pcie_type(udev) == PCI_EXP_TYPE_ROOT_PORT) {
|
|
|
+ status = default_reset_link(udev);
|
|
|
} else {
|
|
|
dev_printk(KERN_DEBUG, &dev->dev,
|
|
|
"no link-reset support at upstream device %s\n",
|