From d70be31bea01a88c7e24f82baa0ca2e1fb3f778c Mon Sep 17 00:00:00 2001 From: Alexey Novikov Date: Wed, 22 Oct 2025 17:57:56 +0000 Subject: [PATCH] fabtests/efa: BUG: efa_gda: recv buffer verification is skipped silently Problem: efa_gda fabtest had a logical bug. When verifying rx_buf contents, we checked if both `FT_OPT_VERIFY_DATA` and `FT_OPT_ACTIVE` options were set. However, `FT_OPT_ACTIVE` is unset by `ft_stop()`, which is called in the main loop to check for timeout. Fix: Check only for `FT_OPT_VERIFY_DATA` option. Signed-off-by: Alexey Novikov --- fabtests/prov/efa/src/efa_gda.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fabtests/prov/efa/src/efa_gda.c b/fabtests/prov/efa/src/efa_gda.c index 4c3b881e8a6..e1255ae5e0e 100644 --- a/fabtests/prov/efa/src/efa_gda.c +++ b/fabtests/prov/efa/src/efa_gda.c @@ -227,7 +227,7 @@ static int run() return ret; } - if (ft_check_opts(FT_OPT_VERIFY_DATA | FT_OPT_ACTIVE)) { + if (ft_check_opts(FT_OPT_VERIFY_DATA)) { ret = ft_fill_buf((char *) tx_buf + ft_tx_prefix_size(), opts.transfer_size); if (ret) @@ -310,7 +310,7 @@ static int run() } while (ret == 0); verify_data: - if (ft_check_opts(FT_OPT_VERIFY_DATA | FT_OPT_ACTIVE)) { + if (ft_check_opts(FT_OPT_VERIFY_DATA)) { ret = ft_check_buf((char *) rx_buf, opts.transfer_size); if (ret) @@ -348,7 +348,7 @@ int main(int argc, char **argv) ft_parse_api_opts(op, optarg, hints, &opts); break; case 'v': - opts.options |= FT_OPT_VERIFY_DATA | FT_OPT_ACTIVE; + opts.options |= FT_OPT_VERIFY_DATA; break; case '?': case 'h':