• Bjorn Helgaas's avatar
    PCI: Don't update VF BARs while VF memory space is enabled · 546ba9f8
    Bjorn Helgaas authored
    If we update a VF BAR while it's enabled, there are two potential problems:
    
      1) Any driver that's using the VF has a cached BAR value that is stale
         after the update, and
    
      2) We can't update 64-bit BARs atomically, so the intermediate state
         (new lower dword with old upper dword) may conflict with another
         device, and an access by a driver unrelated to the VF may cause a bus
         error.
    
    Warn about attempts to update VF BARs while they are enabled.  This is a
    programming error, so use dev_WARN() to get a backtrace.
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: default avatarGavin Shan <gwshan@linux.vnet.ibm.com>
    546ba9f8
iov.c 19 KB