|
@@ -156,13 +156,15 @@ void efx_nic_fini_interrupt(struct efx_nic *efx)
|
|
|
efx->net_dev->rx_cpu_rmap = NULL;
|
|
|
#endif
|
|
|
|
|
|
- /* Disable MSI/MSI-X interrupts */
|
|
|
- efx_for_each_channel(channel, efx)
|
|
|
- free_irq(channel->irq, &efx->msi_context[channel->channel]);
|
|
|
-
|
|
|
- /* Disable legacy interrupt */
|
|
|
- if (efx->legacy_irq)
|
|
|
+ if (EFX_INT_MODE_USE_MSI(efx)) {
|
|
|
+ /* Disable MSI/MSI-X interrupts */
|
|
|
+ efx_for_each_channel(channel, efx)
|
|
|
+ free_irq(channel->irq,
|
|
|
+ &efx->msi_context[channel->channel]);
|
|
|
+ } else {
|
|
|
+ /* Disable legacy interrupt */
|
|
|
free_irq(efx->legacy_irq, efx);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/* Register dump */
|