sfc: manually allocate and free vadaptors
To be able to use MC_CMD_VADAPTOR_SET_MAC, vadaptors must be manually allocated and freed as automatic vadaptors will disappear when their reference_count reaches zero, which must happen before the MAC address is changed. Vadaptors are allocated and freed in the vswitching_probe/remove functions for PFs and VFs, and this means that vadaptors are restored correctly following an MC reboot or other reset when required. Signed-off-by: Shradha Shah <sshah@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
3c5eb87605
commit
7b8c7b54f0
@@ -60,8 +60,11 @@ static inline int efx_ef10_sriov_get_vf_config(struct efx_nic *efx, int vf,
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
int efx_ef10_vswitching_probe(struct efx_nic *efx);
|
||||
int efx_ef10_vswitching_restore(struct efx_nic *efx);
|
||||
void efx_ef10_vswitching_remove(struct efx_nic *efx);
|
||||
int efx_ef10_vswitching_probe_pf(struct efx_nic *efx);
|
||||
int efx_ef10_vswitching_probe_vf(struct efx_nic *efx);
|
||||
int efx_ef10_vswitching_restore_pf(struct efx_nic *efx);
|
||||
int efx_ef10_vswitching_restore_vf(struct efx_nic *efx);
|
||||
void efx_ef10_vswitching_remove_pf(struct efx_nic *efx);
|
||||
void efx_ef10_vswitching_remove_vf(struct efx_nic *efx);
|
||||
|
||||
#endif /* EF10_SRIOV_H */
|
||||
|
||||
Reference in New Issue
Block a user