liquidio: Use pcie_flr() instead of reimplementing it
authorDenis Efremov <efremov@linux.com>
Thu, 8 Aug 2019 04:57:53 +0000 (07:57 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 9 Aug 2019 05:41:02 +0000 (22:41 -0700)
octeon_mbox_process_cmd() directly writes the PCI_EXP_DEVCTL_BCR_FLR
bit, which bypasses timing requirements imposed by the PCIe spec.
This patch fixes the function to use the pcie_flr() interface instead.

Signed-off-by: Denis Efremov <efremov@linux.com>
Reviewed-by: Andrew Murray <andrew.murray@arm.com>
Reviewed-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c

index 021d99c..614d07b 100644 (file)
@@ -260,9 +260,7 @@ static int octeon_mbox_process_cmd(struct octeon_mbox *mbox,
                dev_info(&oct->pci_dev->dev,
                         "got a request for FLR from VF that owns DPI ring %u\n",
                         mbox->q_no);
-               pcie_capability_set_word(
-                       oct->sriov_info.dpiring_to_vfpcidev_lut[mbox->q_no],
-                       PCI_EXP_DEVCTL, PCI_EXP_DEVCTL_BCR_FLR);
+               pcie_flr(oct->sriov_info.dpiring_to_vfpcidev_lut[mbox->q_no]);
                break;
 
        case OCTEON_PF_CHANGED_VF_MACADDR: