Re: [PATCH v3] PCI: Check for PCIe downtraining conditions

From: Tal Gilboa
Date: Mon Jul 23 2018 - 01:21:51 EST


On 7/19/2018 6:49 PM, Alex G. wrote:


On 07/18/2018 08:38 AM, Tal Gilboa wrote:
On 7/16/2018 5:17 PM, Bjorn Helgaas wrote:
[+cc maintainers of drivers that already use pcie_print_link_status()
and GPU folks]
[snip]

+ÂÂÂ /* Multi-function PCIe share the same link/status. */
+ÂÂÂ if ((PCI_FUNC(dev->devfn) != 0) || dev->is_virtfn)
+ÂÂÂÂÂÂÂ return;
+
+ÂÂÂ pcie_print_link_status(dev);
+}

Is this function called by default for every PCIe device? What about VFs? We make an exception for them on our driver since a VF doesn't have access to the needed information in order to provide a meaningful message.

I'm assuming VF means virtual function. pcie_print_link_status() doesn't care if it's passed a virtual function. It will try to do its job. That's why I bail out three lines above, with 'dev->is_virtfn' check.

Alex

That's the point - we don't want to call pcie_print_link_status() for virtual functions. We make the distinction in our driver. If you want to change the code to call this function by default it shouldn't affect the current usage.