Page MenuHomeFreeBSD

iflib: Remove redundant VLAN events deregistration
ClosedPublic

Authored by piotr.pietruszewski_intel.com on Sep 19 2019, 9:20 AM.
Tags
None
Referenced Files
F160289015: D21711.id.diff
Mon, Jun 22, 11:29 PM
F160282860: D21711.diff
Mon, Jun 22, 10:12 PM
F160266729: D21711.id62512.diff
Mon, Jun 22, 5:51 PM
F160193985: D21711.diff
Mon, Jun 22, 1:46 AM
Unknown Object (File)
Wed, Jun 17, 4:54 AM
Unknown Object (File)
Fri, Jun 12, 8:46 AM
Unknown Object (File)
Sat, Jun 6, 12:39 AM
Unknown Object (File)
Mon, Jun 1, 9:33 PM
Subscribers

Details

Summary

r351152 introduced iflib_deregister() function calling
EVENTHANDLER_DEREGISTER() to unregister VLAN events. This patch removes
duplicate of EVENTHANDLER_DEREGISTER() calls placed in
iflib_device_deregister() as this function is now calling
iflib_deregister(). This is to avoid deregistering same event twice.

This patch also adds check in iflib_vlan_register() to prevent
registering VLAN while being in detach.

Patch co-authored by Krzysztof Galazka <krzysztof.galazka@intel.com>,
erj <erj@FreeBSD.org> and Jacob Keller <jacob.e.keller@intel.com>.

Signed-off-by: Piotr Pietruszewski <piotr.pietruszewski@intel.com>

Test Plan

Before applying this patch, kernel panic should be observed after issuing:

for i in {1..10}; do kldunload if_ix; kldload if_ix; done

Usually, less than 10 cycles are needed to trigger the panic. After applying
the patch, panic should be gone.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable