lkml.org 
[lkml]   [2015]   [Oct]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH v2 5/7] PCI: Wait 1 second between disabling VFs and clearing NumVFs
    From
    Date
    From: Alexander Duyck <aduyck@mirantis.com>

    Per sec 3.3.3.1 of the SR-IOV spec, r1.1, we must allow 1.0s after clearing
    VF Enable before reading any field in the SR-IOV Extended Capability.

    Wait 1 second before calling pci_iov_set_numvfs(), which reads
    PCI_SRIOV_VF_OFFSET and PCI_SRIOV_VF_STRIDE after it sets PCI_SRIOV_NUM_VF.

    [bhelgaas: split to separate patch for reviewability, add spec reference]
    Signed-off-by: Alexander Duyck <aduyck@mirantis.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    ---
    drivers/pci/iov.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
    index fada98d..24428d5 100644
    --- a/drivers/pci/iov.c
    +++ b/drivers/pci/iov.c
    @@ -339,13 +339,13 @@ failed:
    iov->ctrl &= ~(PCI_SRIOV_CTRL_VFE | PCI_SRIOV_CTRL_MSE);
    pci_cfg_access_lock(dev);
    pci_write_config_word(dev, iov->pos + PCI_SRIOV_CTRL, iov->ctrl);
    - pci_iov_set_numvfs(dev, 0);
    ssleep(1);
    pci_cfg_access_unlock(dev);

    if (iov->link != dev->devfn)
    sysfs_remove_link(&dev->dev.kobj, "dep_link");

    + pci_iov_set_numvfs(dev, 0);
    return rc;
    }



    \
     
     \ /
      Last update: 2015-10-29 23:41    [W:4.088 / U:0.148 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site