Thread (1 message) 1 message, 1 author, 2018-07-01

[PATCH V4 7/7] PCI: Handle link reset via hotplug if supported

From: okaya at codeaurora.org <hidden>
Date: 2018-07-01 17:25:14
Also in: linux-arm-msm, linux-pci, lkml

On 2018-07-01 13:14, Lukas Wunner wrote:
On Thu, Jun 28, 2018 at 03:31:05PM -0400, Sinan Kaya wrote:
quoted
+static pci_ers_result_t pciehp_reset_link(struct pci_dev *pdev)
+{
+	struct pcie_device *pciedev;
+	struct controller *ctrl;
+	struct device *devhp;
+	struct slot *slot;
+	int rc;
+
+	devhp = pcie_port_find_device(pdev, PCIE_PORT_SERVICE_HP);
+	pciedev = to_pcie_device(devhp);
+	ctrl = get_service_data(pciedev);
+	slot = ctrl->slot;
+
+	rc = reset_slot(slot->hotplug_slot, 0);
+
+	return !rc ? PCI_ERS_RESULT_RECOVERED : PCI_ERS_RESULT_DISCONNECT;
+}
This looks like a bit of a detour.  There's a "struct pci_slot *slot"
pointer in struct pci_dev.  Any reason not to simply call:

	rc = reset_slot(pdev->slot->hotplug_slot)
pdev here is the bridge. Slot pointers are only valid for children 
objects.

Lukas
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help