Messages in this thread | | | Subject | Re: [PATCH V3 2/2] Xen/PCIback: Implement PCI flr/slot/bus reset with 'reset' SysFS attribute | From | Govinda Tatti <> | Date | Fri, 15 Dec 2017 13:52:14 -0600 |
| |
Jan,
One quick update on pcie_flr() specific implementation. Please see below. >>> +static int pcistub_device_reset(struct pci_dev *dev) >>> +{ >>> + struct xen_pcibk_dev_data *dev_data; >>> + bool slot = false, bus = false; >>> + struct pcistub_args arg = {}; >>> + >>> + if (!dev) >>> + return -EINVAL; >>> + >>> + dev_dbg(&dev->dev, "[%s]\n", __func__); >>> + >>> + /* First check and try FLR */ >>> + if (pcie_has_flr(dev)) { >>> + dev_dbg(&dev->dev, "resetting %s device using FLR\n", >>> + pci_name(dev)); >>> + pcie_flr(dev); >> The lack of error check here puzzled me, but I see the function >> indeed returns void right now. I think the prereq patch should >> change this along with exporting the function - you really don't >> want the device to be handed to a guest when the FLR timed >> out. > We will change pcie_flr() to return error code. I will make this change > in the next version of this patch. I exchanged some emails with Bjorn/Christoph and it looks like Christoph as some planto restructure pcie flr specific functions but I don't know the exact time-frame. For now,I am planning to use existing pcie_flr() after checking FLR capability. We will switchto revised pcie_flr() once it is available.
I hope you are fine with this approach. Please let me know. Thanks.
Cheers GOVINDA
| |