HomeFreeBSD

- In em_intr(), just call em_handle_link() instead of duplicating it.

Description

  • In em_intr(), just call em_handle_link() instead of duplicating it.
  • In em_msix_link(), properly handle IGB-class devices after the iflib(4) conversion again by only setting EM_MSIX_LINK for the EM-class 82574 and by re-arming link interrupts unconditionally, i. e. not only in case of spurious interrupts. This fixes the interface link state change detection for the IGB-class. [1]
  • In em_if_update_admin_status(), only re-arm the link state change interrupt for 82574 and also only if such a device uses MSI-X, i. e. takes advantage of autoclearing. In case of INTx and MSI as well as for LEM- and IGB-class devices, re-arming isn't appropriate here and setting EM_MSIX_LINK isn't either. While at it, consistently take advantage of the hw variable.

PR: 236724 [1]
Differential Revision: https://reviews.freebsd.org/D21924

Details

Provenance
mariusAuthored on
Differential Revision
D21924: e1000: improve and correct link interrupt handling
Parents
rS353777: powerpc/booke: Don't zero MAS8, it's unnecessary
Branches
Unknown
Tags
Unknown