> Subject: Re: [PATCH v3 04/20] i40e: Register a virtbus device to provide RDMA > > On Wed, Dec 18, 2019 at 06:57:10PM +0000, Saleem, Shiraz wrote: > > diff --git a/include/linux/net/intel/i40e_client.h > > b/include/linux/net/intel/i40e_client.h > > index 7e147d3..5c81261 100644 > > +++ b/include/linux/net/intel/i40e_client.h > > @@ -83,11 +83,11 @@ struct i40e_params { > > > > /* Structure to hold Lan device info for a client device */ struct > > i40e_info { > > struct i40e_client_version version; > > I hope this isn't the inter-module versioning stuff we already Nak'd? This is not used in irdma for checking any versioning. This and the version in struct i40e_client are not cleaned up because they are used between i40e <--> i40iw. And the thought was once i40iw is removed, we can send a follow on patch to remove this versioning + the global exported functions i40e_register_client() and i40e_unregister_client() used by i40iw. For the ice driver, we have already removed all versioning. > > > u8 lanmac[6]; > > Is this different from the mac reachable from the netdev? Hmmm... I think not. This should be possible to get from netdev. We can send a cleanup follow on patch. > > +struct i40e_virtbus_device { > > + struct virtbus_device vdev; > > + struct i40e_info *ldev; > > Is the lifetime actually any better? Will ldev be freed and left danling before > virtbus_device is released? > The consumer of the ldev (i.e the rdma driver) will have a valid ldev when drv->remove() is called as part of the virtbus device unregister. It is probably good to set this ldev pointer inside the i40e_virtbus_device object to NULL in the netdev driver soon after virtbus device unregister.