On 2025/2/18 19:58, Thierry Herbelot wrote: > 'width' and 'offset' are input parameters when dumping the register > info of an Ethernet device. They should be copied in the new request > before calling the device callback function. > > Fixes: 083db2ed9e9 ('ethdev: add report of register names and filter') > Cc: sta...@dpdk.org > > Signed-off-by: Thierry Herbelot <thierry.herbe...@6wind.com> > --- > lib/ethdev/rte_ethdev.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c > index 6413c54e3b39..073a3bcf5c0b 100644 > --- a/lib/ethdev/rte_ethdev.c > +++ b/lib/ethdev/rte_ethdev.c > @@ -6511,6 +6511,8 @@ rte_eth_dev_get_reg_info(uint16_t port_id, struct > rte_dev_reg_info *info) > } > > reg_info.length = info->length; > + reg_info.width = info->width; > + reg_info.offset = info->offset;
I think there are ambiguities in the original API definition: 1) the width was used as an output parameter in current all PMD impl. 2) the offset was unused in current all PMD impl. But maybe other non-opensource PMD will use these two field. So I think it's OK to copy the two fields (maybe another field "version") before invoke _ext API. > reg_info.data = info->data; > > ret = rte_eth_dev_get_reg_info_ext(port_id, ®_info);