]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
- Stop iflib(4) from leaking MSI messages on detachment by calling
authormarius <marius@FreeBSD.org>
Wed, 30 Jan 2019 13:21:26 +0000 (13:21 +0000)
committermarius <marius@FreeBSD.org>
Wed, 30 Jan 2019 13:21:26 +0000 (13:21 +0000)
commit34990ebfb95c57ebaf55badc6269f8c85ae08ed7
tree6b761f64b44dd6cc03da30af6f288a47eae104a9
parent588cd7c7db1d7219c28e8c9602668664354d68e6
- Stop iflib(4) from leaking MSI messages on detachment by calling
  bus_teardown_intr(9) before pci_release_msi(9).
- Ensure that iflib(4) and associated drivers pass correct RIDs to
  bus_release_resource(9) by obtaining the RIDs via rman_get_rid(9)
  on the corresponding resources instead of using the RIDs initially
  passed to bus_alloc_resource_any(9) as the latter function may
  change those RIDs. Solely em(4) for the ioport resource (but not
  others) and bnxt(4) were using the correct RIDs by caching the ones
  returned by bus_alloc_resource_any(9).
- Change the logic of iflib_msix_init() around to only map the MSI-X
  BAR if MSI-X is actually supported, i. e. pci_msix_count(9) returns
  > 0. Otherwise the "Unable to map MSIX table " message triggers for
  devices that simply don't support MSI-X and the user may think that
  something is wrong while in fact everything works as expected.
- Put some (mostly redundant) debug messages emitted by iflib(4)
  and em(4) during attachment under bootverbose. The non-verbose
  output of em(4) seen during attachment now is close to the one
  prior to the conversion to iflib(4).
- Replace various variants of spelling "MSI-X" (several in messages)
  with "MSI-X" as used in the PCI specifications.
- Remove some trailing whitespace from messages emitted by iflib(4)
  and change them to consistently start with uppercase.
- Remove some obsolete comments about releasing interrupts from
  drivers and correct a few others.

Reviewed by: erj, Jacob Keller, shurd
Differential Revision: https://reviews.freebsd.org/D18980
sys/dev/e1000/if_em.c
sys/dev/e1000/if_em.h
sys/dev/ixgbe/if_ix.c
sys/dev/ixgbe/if_ixv.c
sys/dev/ixl/if_iavf.c
sys/dev/ixl/if_ixl.c
sys/dev/ixl/ixl_iw.c
sys/dev/ixl/ixl_pf_main.c
sys/dev/vmware/vmxnet3/if_vmx.c
sys/net/iflib.c