The variable reg_rctl has the value of reg E1000_RCTL which is read
prior to calling em_if_vlan_filter_disable(), and be written back
after em_if_vlan_filter_disable(). It is possible that reg_rctl has
bits E1000_RCTL_VFE and E1000_RCTL_CFIEN, hence results in restoring
the VLAN hardware filter when putting the interface into promiscuous
mode, which violates the promiscuous mode.
Move the calling of em_if_vlan_filter_disable() after writing back
reg_rctl to fix that.
PR: [[https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292759|292759]]
Tested by: vova@zote.me
Fixes: 2796f7cab107 e1000: Fix up HW vlan ops
MFC after: 5 days