Building with clang and enabling option to find unreachable code
found this bug.

The loop looking for a free adapter slot returned EEXIST as soon
as it found a used slot, so only one adapter could be created per
event queue.

Keep searching; the existing check after the loop reports when
all slots are in use.

Fixes: e12c3754da7a ("eventdev/vector: introduce event vector adapter")
Cc: [email protected]

Signed-off-by: Stephen Hemminger <[email protected]>
---
 drivers/net/qede/base/ecore_dev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/qede/base/ecore_dev.c 
b/drivers/net/qede/base/ecore_dev.c
index e895dee405..6e76ac9c2f 100644
--- a/drivers/net/qede/base/ecore_dev.c
+++ b/drivers/net/qede/base/ecore_dev.c
@@ -1544,7 +1544,7 @@ static u32 ecore_hw_bar_size(struct ecore_hwfn *p_hwfn,
        if (ECORE_IS_CMT(p_hwfn->p_dev)) {
                DP_INFO(p_hwfn,
                        "BAR size not configured. Assuming BAR size of 256kB 
for GRC and 512kB for DB\n");
-               val = BAR_ID_0 ? 256 * 1024 : 512 * 1024;
+               val = bar_id == BAR_ID_0 ? 256 * 1024 : 512 * 1024;
        } else {
                DP_INFO(p_hwfn,
                        "BAR size not configured. Assuming BAR size of 512kB 
for GRC and 512kB for DB\n");
-- 
2.53.0

Reply via email to