This is a note to let you know that I've just added the patch titled PCI: aardvark: Introduce an advk_pcie_valid_device() helper to the 4.14-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: pci-aardvark-introduce-an-advk_pcie_valid_device-helper.patch and it can be found in the queue-4.14 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From foo@baz Mon Nov 29 01:32:04 PM CET 2021 From: "Marek Behún" <kabel@xxxxxxxxxx> Date: Wed, 24 Nov 2021 23:49:18 +0100 Subject: PCI: aardvark: Introduce an advk_pcie_valid_device() helper To: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>, Sasha Levin <sashal@xxxxxxxxxx> Cc: pali@xxxxxxxxxx, stable@xxxxxxxxxxxxxxx, "Thomas Petazzoni" <thomas.petazzoni@xxxxxxxxxxx>, "Lorenzo Pieralisi" <lorenzo.pieralisi@xxxxxxx>, "Marek Behún" <kabel@xxxxxxxxxx> Message-ID: <20211124224933.24275-10-kabel@xxxxxxxxxx> From: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxx> commit 248d4e59616c632f37f04c233eec6d5008384926 upstream. In other to mimic other PCIe host controller drivers, introduce an advk_pcie_valid_device() helper, used in the configuration read/write functions. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxx> [lorenzo.pieralisi@xxxxxxx: updated host->controller dir move] Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Marek Behún <kabel@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/pci/host/pci-aardvark.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) --- a/drivers/pci/host/pci-aardvark.c +++ b/drivers/pci/host/pci-aardvark.c @@ -592,6 +592,15 @@ static bool advk_pcie_pio_is_running(str return false; } +static bool advk_pcie_valid_device(struct advk_pcie *pcie, struct pci_bus *bus, + int devfn) +{ + if ((bus->number == pcie->root_bus_nr) && PCI_SLOT(devfn) != 0) + return false; + + return true; +} + static int advk_pcie_rd_conf(struct pci_bus *bus, u32 devfn, int where, int size, u32 *val) { @@ -599,7 +608,7 @@ static int advk_pcie_rd_conf(struct pci_ u32 reg; int ret; - if ((bus->number == pcie->root_bus_nr) && PCI_SLOT(devfn) != 0) { + if (!advk_pcie_valid_device(pcie, bus, devfn)) { *val = 0xffffffff; return PCIBIOS_DEVICE_NOT_FOUND; } @@ -660,7 +669,7 @@ static int advk_pcie_wr_conf(struct pci_ int offset; int ret; - if ((bus->number == pcie->root_bus_nr) && PCI_SLOT(devfn) != 0) + if (!advk_pcie_valid_device(pcie, bus, devfn)) return PCIBIOS_DEVICE_NOT_FOUND; if (where % size) Patches currently in stable-queue which might be from kabel@xxxxxxxxxx are queue-4.14/pci-aardvark-move-pcie-reset-card-code-to-advk_pcie_train_link.patch queue-4.14/pci-aardvark-introduce-an-advk_pcie_valid_device-helper.patch queue-4.14/pci-aardvark-update-comment-about-disabling-link-training.patch queue-4.14/pci-aardvark-train-link-immediately-after-enabling-training.patch queue-4.14/arm64-dts-marvell-armada-37xx-declare-pcie-reset-pin.patch queue-4.14/pci-aardvark-replace-custom-macros-by-standard-linux-pci_regs.h-macros.patch queue-4.14/pci-aardvark-fix-a-leaked-reference-by-adding-missing-of_node_put.patch queue-4.14/pci-aardvark-fix-pcie-max-payload-size-setting.patch queue-4.14/pinctrl-armada-37xx-correct-pwm-pins-definitions.patch queue-4.14/arm64-dts-marvell-armada-37xx-set-pcie_reset_pin-to-gpio-function.patch queue-4.14/pci-aardvark-configure-pcie-resources-from-ranges-dt-property.patch queue-4.14/pci-aardvark-improve-link-training.patch queue-4.14/pci-aardvark-fix-link-training.patch queue-4.14/pci-aardvark-fix-checking-for-link-up-via-ltssm-state.patch queue-4.14/pci-aardvark-issue-perst-via-gpio.patch queue-4.14/pinctrl-armada-37xx-correct-mpp-definitions.patch queue-4.14/pci-add-pci_exp_lnkctl2_tls-macros.patch queue-4.14/pci-aardvark-wait-for-endpoint-to-be-ready-before-training-link.patch queue-4.14/pinctrl-armada-37xx-add-missing-pin-pcie1-wakeup.patch queue-4.14/pci-aardvark-fix-compilation-on-s390.patch queue-4.14/pci-aardvark-fix-i-o-space-page-leak.patch queue-4.14/pci-aardvark-don-t-touch-pcie-registers-if-no-card-connected.patch queue-4.14/pci-aardvark-remove-pcie-outbound-window-configuration.patch queue-4.14/pci-aardvark-indicate-error-in-val-when-config-read-fails.patch