A resource_size is defined as res->end - res->start + 1. Marvell
MBUS driver gets some ranges from DT as start and size but mis-calculates
end of range. This fixes 4 occurences of those mistakes.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselba...@gmail.com>
Acked-by: Lucas Stach <l.st...@pengutronix.de>
---
Changelog:
v2->v3:
- still none
v1->v2:
- none

Cc: barebox@lists.infradead.org
Cc: Antony Pavlov <antonynpav...@gmail.com>
Cc: Jean-Christophe PLAGNIOL-VILLARD <plagn...@jcrosoft.com>
Cc: Lucas Stach <l.st...@pengutronix.de>
Cc: Thomas Petazzoni <thomas.petazz...@free-electrons.com>
Cc: Ezequiel Garcia <ezequiel.gar...@free-electrons.com>
---
 drivers/bus/mvebu-mbus.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/bus/mvebu-mbus.c b/drivers/bus/mvebu-mbus.c
index 11e3777a6094..c67646f61722 100644
--- a/drivers/bus/mvebu-mbus.c
+++ b/drivers/bus/mvebu-mbus.c
@@ -187,7 +187,7 @@ static int mvebu_mbus_window_conflicts(struct 
mvebu_mbus_state *mbus,
                                       phys_addr_t base, size_t size,
                                       u8 target, u8 attr)
 {
-       u64 end = (u64)base + size;
+       u64 end = (u64)base + size - 1;
        int win;
 
        for (win = 0; win < mbus->soc->num_wins; win++) {
@@ -203,7 +203,7 @@ static int mvebu_mbus_window_conflicts(struct 
mvebu_mbus_state *mbus,
                if (!enabled)
                        continue;
 
-               wend = wbase + wsize;
+               wend = wbase + wsize - 1;
 
                /*
                 * Check if the current window overlaps with the
@@ -661,7 +661,7 @@ static void mvebu_mbus_get_pcie_resources(struct 
device_node *np,
                                         reg, ARRAY_SIZE(reg));
        if (!ret) {
                mem->start = reg[0];
-               mem->end = mem->start + reg[1];
+               mem->end = mem->start + reg[1] - 1;
                mem->flags = IORESOURCE_MEM;
        }
 
@@ -669,7 +669,7 @@ static void mvebu_mbus_get_pcie_resources(struct 
device_node *np,
                                         reg, ARRAY_SIZE(reg));
        if (!ret) {
                io->start = reg[0];
-               io->end = io->start + reg[1];
+               io->end = io->start + reg[1] - 1;
                io->flags = IORESOURCE_IO;
        }
 }
-- 
2.0.0


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to