From: Bjorn Helgaas Date: Wed, 19 Nov 2014 22:10:33 +0000 (-0700) Subject: Merge branches 'pci/enumeration', 'pci/hotplug', 'pci/misc', 'pci/numa' and 'pci... X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=18e88beceb1838cfa7cc1a9abf16f5b419e11fdd;p=deliverable%2Flinux.git Merge branches 'pci/enumeration', 'pci/hotplug', 'pci/misc', 'pci/numa' and 'pci/virtualization' into next * pci/enumeration: PCI: Remove fixed parameter in pci_iov_resource_bar() PCI: Add informational printk for invalid BARs PCI: Shrink decoding-disabled window while sizing BARs PCI: Restore detection of read-only BARs * pci/hotplug: PCI: Remove unused and broken to_hotplug_slot() * pci/misc: PCI: Make FLR and AF FLR reset warning messages different PCI: Simplify if-return sequences PCI: Delete unnecessary NULL pointer checks * pci/numa: PCI: Allow numa_node override via sysfs * pci/virtualization: xen/pcifront: Process failure for pcifront_(re)scan_root() --- 18e88beceb1838cfa7cc1a9abf16f5b419e11fdd diff --cc drivers/pci/pci.c index 625a4ace10b4,7bf246595c63,625a4ace10b4,e8b3627e5474,625a4ace10b4,625a4ace10b4..a7ac72639c52 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@@@@@@ -3174,16 -3174,16 -3174,16 -3168,12 -3174,16 -3174,16 +3168,12 @@@@@@@ static int pci_af_flr(struct pci_dev *d * is used, so we use the conrol offset rather than status and shift * the test bit to match. */ --- -- if (pci_wait_for_pending(dev, pos + PCI_AF_CTRL, +++ ++ if (!pci_wait_for_pending(dev, pos + PCI_AF_CTRL, PCI_AF_STATUS_TP << 8)) --- -- goto clear; - - -- - - -- dev_err(&dev->dev, "transaction is not cleared; proceeding with reset anyway\n"); +++ ++ dev_err(&dev->dev, "timed out waiting for pending transaction; performing AF function level reset anyway\n"); - dev_err(&dev->dev, "transaction is not cleared; proceeding with reset anyway\n"); - --- --clear: pci_write_config_byte(dev, pos + PCI_AF_CTRL, PCI_AF_CTRL_FLR); msleep(100); --- -- return 0; }