From: Nobuhiro Iwamatsu <[email protected]>

The reg variable used when setting PCIECAR register need to be masked by 0xFC
by restriction of the corresponding register.
This adds PCIE_CONF_REGNO are macros for masking changes that PCIE_CONF_REGNO
is used when setting PCIECAR register.

Signed-off-by: Nobuhiro Iwamatsu <[email protected]>
---
This patch was posted to ML, but still no response.
I re-sent it because original author has gone now.

 drivers/pci/host/pcie-rcar.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/pci/host/pcie-rcar.c b/drivers/pci/host/pcie-rcar.c
index c086210..9fd39cd8b 100644
--- a/drivers/pci/host/pcie-rcar.c
+++ b/drivers/pci/host/pcie-rcar.c
@@ -104,6 +104,7 @@
 #define  PCIE_CONF_BUS(b)      (((b) & 0xff) << 24)
 #define  PCIE_CONF_DEV(d)      (((d) & 0x1f) << 19)
 #define  PCIE_CONF_FUNC(f)     (((f) & 0x7) << 16)
+#define  PCIE_CONF_REGNO(r)    (r & 0xfc)
 
 #define RCAR_PCI_MAX_RESOURCES 4
 #define MAX_NR_INBOUND_MAPS 6
@@ -227,7 +228,8 @@ static int rcar_pcie_config_access(struct rcar_pcie *pcie,
 
        /* Set the PIO address */
        rcar_pci_write_reg(pcie, PCIE_CONF_BUS(bus->number) |
-               PCIE_CONF_DEV(dev) | PCIE_CONF_FUNC(func) | reg, PCIECAR);
+               PCIE_CONF_DEV(dev) | PCIE_CONF_FUNC(func) |
+               PCIE_CONF_REGNO(reg), PCIECAR);
 
        /* Enable the configuration access */
        if (bus->parent->number == pcie->root_bus_nr)
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to