summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sfc/ef10_sriov.h
diff options
context:
space:
mode:
authorShradha Shah <sshah@solarflare.com>2015-05-06 00:58:54 +0100
committerDavid S. Miller <davem@davemloft.net>2015-05-09 16:16:48 -0400
commit7b8c7b54f0070edb207add4777e68e4e79d7c3fe (patch)
tree7241e5767bf3c3e0b512400dbe1c12f2669bfb8f /drivers/net/ethernet/sfc/ef10_sriov.h
parent3c5eb87605e85146a78de589b5070a37862425db (diff)
downloadlinux-7b8c7b54f0070edb207add4777e68e4e79d7c3fe.tar.gz
linux-7b8c7b54f0070edb207add4777e68e4e79d7c3fe.tar.bz2
linux-7b8c7b54f0070edb207add4777e68e4e79d7c3fe.zip
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>
Diffstat (limited to 'drivers/net/ethernet/sfc/ef10_sriov.h')
-rw-r--r--drivers/net/ethernet/sfc/ef10_sriov.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/ethernet/sfc/ef10_sriov.h b/drivers/net/ethernet/sfc/ef10_sriov.h
index 42d7145026a6..86bac7ebb01a 100644
--- a/drivers/net/ethernet/sfc/ef10_sriov.h
+++ b/drivers/net/ethernet/sfc/ef10_sriov.h
@@ -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 */