> -----Original Message-----
> From: Stephen Hemminger <[email protected]>
> Sent: Tuesday, May 26, 2026 4:24 PM
> To: [email protected]
> Cc: Stephen Hemminger <[email protected]>; Long Li
> <[email protected]>; Wei Hu <[email protected]>
> Subject: [EXTERNAL] [PATCH v4 15/27] net/netvsc: replace rte_atomic32 with
> stdatomic
> 
> Change the rndis transaction id and buffer usage to use stdatomic functions.
> 
> Signed-off-by: Stephen Hemminger <[email protected]>
> ---
>  drivers/net/netvsc/hn_rndis.c | 28 +++++++++++++++++++---------
> drivers/net/netvsc/hn_rxtx.c  | 12 +++++++-----
>  drivers/net/netvsc/hn_var.h   |  6 +++---
>  3 files changed, 29 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/net/netvsc/hn_rndis.c b/drivers/net/netvsc/hn_rndis.c
> index 7c54eebcef..4b1d3d5539 100644
> --- a/drivers/net/netvsc/hn_rndis.c
> +++ b/drivers/net/netvsc/hn_rndis.c
> @@ -17,7 +17,7 @@
>  #include <rte_string_fns.h>
>  #include <rte_memzone.h>
>  #include <rte_malloc.h>
> -#include <rte_atomic.h>
> +#include <rte_stdatomic.h>
>  #include <rte_alarm.h>
>  #include <rte_branch_prediction.h>
>  #include <rte_ether.h>
> @@ -59,7 +59,8 @@ hn_rndis_rid(struct hn_data *hv)
>       uint32_t rid;
> 
>       do {
> -             rid = rte_atomic32_add_return(&hv->rndis_req_id, 1);
> +             rid = rte_atomic_fetch_add_explicit(&hv->rndis_req_id, 1,
> +
> rte_memory_order_seq_cst);

Does rte_atomic_fetch_add_explicit() return the old value of hv->rndis_req_id? 
If yes this is not correct, as the rte_atomic32_add_return() used to return the 
new value.

Reply via email to