OSDN Git Service

PCI: rcar: Move the inbound index check
authorMarek Vasut <marek.vasut+renesas@gmail.com>
Sat, 26 Oct 2019 18:26:58 +0000 (20:26 +0200)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Mon, 11 Nov 2019 14:29:20 +0000 (14:29 +0000)
commit85bff4c3d320bffceab0c96ee2be4d5f55a3a4e7
tree87335fb6ffb36fc01f0f17b19f81a1a6bf87ca2a
parentaf072edb83555e768d2b30c6a31629d3eb3e0527
PCI: rcar: Move the inbound index check

Since the 'idx' variable value is stored across multiple calls to
rcar_pcie_inbound_ranges() function, and the 'idx' value is used to
index registers which are written, subsequent calls might cause
the 'idx' value to be high enough to trigger writes into nonexistent
registers.

Fix this by moving the 'idx' value check to the beginning of the loop.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Andrew Murray <andrew.murray@arm.com>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Wolfram Sang <wsa@the-dreams.de>
Cc: linux-renesas-soc@vger.kernel.org
drivers/pci/controller/pcie-rcar.c