aq holds the key and indirection table in its softc and programs both
from aq_if_init(), so a write survives every reinit path.
iflib publishes the interface before IFDI_ATTACH_POST, where aq seeds
those copies, so the methods report ENXIO until the seeding has run
rather than serving a zeroed shadow as hardware state.
A write programs the hardware before updating the softc.
aq_hw_rss_hash_set() and aq_hw_rss_set() can time out part way through,
and committing first would leave the shadow describing a key the
hardware never took. The hardware is written only when the interface is
running and aq_hw_init() did not fail; aq does not call
iflib_init_failed(), so IFF_DRV_RUNNING alone does not mean the device
can take a register write.
Signed-off-by: Nick Price <nprice@FreeBSD.org>