| 1091 | } |
| 1092 | |
| 1093 | void |
| 1094 | sfc_detach(struct sfc_adapter *sa) |
| 1095 | { |
| 1096 | sfc_log_init(sa, "entry"); |
| 1097 | |
| 1098 | SFC_ASSERT(sfc_adapter_is_locked(sa)); |
| 1099 | |
| 1100 | sfc_sriov_vswitch_destroy(sa); |
| 1101 | |
| 1102 | sfc_repr_proxy_detach(sa); |
| 1103 | sfc_mae_switchdev_fini(sa); |
| 1104 | sfc_tbls_detach(sa); |
| 1105 | sfc_mae_detach(sa); |
| 1106 | sfc_mae_counter_rxq_detach(sa); |
| 1107 | sfc_filter_detach(sa); |
| 1108 | sfc_flow_rss_detach(sa); |
| 1109 | sfc_flow_fini(sa); |
| 1110 | sfc_rss_detach(sa); |
| 1111 | sfc_port_detach(sa); |
| 1112 | sfc_ev_detach(sa); |
| 1113 | sfc_intr_detach(sa); |
| 1114 | efx_tunnel_fini(sa->nic); |
| 1115 | sfc_sriov_detach(sa); |
| 1116 | |
| 1117 | sa->state = SFC_ETHDEV_UNINITIALIZED; |
| 1118 | } |
| 1119 | |
| 1120 | static int |
| 1121 | sfc_kvarg_fv_variant_handler(__rte_unused const char *key, |
no test coverage detected