Since the [start, end) is a half-open interval, a range with the end equal
to the start of another range should not be considered as overlapped.

Signed-off-by: Jiahui Cen <cenjia...@huawei.com>
---
 lib/logic_pio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/logic_pio.c b/lib/logic_pio.c
index f32fe481b492..445d611f1dc1 100644
--- a/lib/logic_pio.c
+++ b/lib/logic_pio.c
@@ -57,7 +57,7 @@ int logic_pio_register_range(struct logic_pio_hwaddr 
*new_range)
                    new_range->flags == LOGIC_PIO_CPU_MMIO) {
                        /* for MMIO ranges we need to check for overlap */
                        if (start >= range->hw_start + range->size ||
-                           end < range->hw_start) {
+                           end <= range->hw_start) {
                                mmio_end = range->io_start + range->size;
                        } else {
                                ret = -EFAULT;
-- 
2.28.0

Reply via email to