static void siena_remove_nic(struct efx_nic *efx) { efx_mcdi_mon_remove(efx); efx_nic_free_buffer(efx, &efx->irq_status); efx_mcdi_reset(efx, RESET_TYPE_ALL); efx_mcdi_fini(efx); /* Tear down the private nic state */ kfree(efx->nic_data); efx->nic_data = NULL; }
static void siena_remove_nic(struct efx_nic *efx) { efx_mcdi_mon_remove(efx); efx_nic_free_buffer(efx, &efx->irq_status); siena_reset_hw(efx, RESET_TYPE_ALL); /* Relinquish the device back to the BMC */ efx_mcdi_drv_attach(efx, false, NULL); /* Tear down the private nic state */ kfree(efx->nic_data); efx->nic_data = NULL; }