> After some feedback to the AI review. It still had minor feedback, do you 
> want more detail?
> I can take this as is or you can send new version.

I think I can address only one warning from the AI review:
the propagated return value in Patch 4.

> Patch 2: If rte_eth_dev_create() succeeds but rte_eth_dev_get_by_name()
> returns NULL, the created device is never added to the cleanup TAILQ
> and leaks.

The rte_eth_dev_create() does not return rte_eth_dev*, so I don't have
a handle to cleanup something with rte_eth_dev_destroy().

The only solution that comes to my mind, is to add the rte_eth_dev
temporary handle to let say a second 'temporary' TAILQ list inside
nfb_eth_dev_init() (called in rte_eth_dev_create()), which will be
checked after the rte_eth_dev_create() returns. However, it's still
messy and doesn't solve the problem comprehensively.

> Patch 3: nfb_default_dev_path() return value used without NULL check before 
> passing to nfb_open().

Both is fine (nfb_default_dev_path doesn't returns NULL, nfb_open can
handle NULL: calls nfb_default_dev_path() internally in that case).

> Patch 4: The kvargs callback returns errors from input validation (e.g., bad 
> port string) but ifc_params.ret is only set after nfb_eth_dev_create_for_ifc, 
> so the caller can overwrite the real error with 0.

Fixed in v10.


> Patch 8: Release notes don't mention the new vdev/simulation support from 
> patch 3.

Quite a minor feature.

Reply via email to