if_iwm - Move iwm_read_firmware() call into iwm_attach().
commit0104ee1f4cb6a2313c00c2526c6ae98d42e5041d
authorImre Vadász <imre@vdsz.com>
Sat, 12 Nov 2016 12:41:49 +0000 (12 13:41 +0100)
committerImre Vadász <imre@vdsz.com>
Sat, 12 Nov 2016 13:11:28 +0000 (12 14:11 +0100)
tree2a04aa297c01e622952e04c4eb7b72466dce799f
parent69a95199c2162fe4fd11aee21f2aaf2147c4aa62
if_iwm - Move iwm_read_firmware() call into iwm_attach().

* We should load the firmware exactly once before the driver really
  initializes the hardware the first time, and unload it at detach time.
  There is no need to retrieve the firmware during execution of
  iwm_mvm_load_ucode_wait_alive(), we should make sure we already have the
  firmware data at hand before that.

* The existing sc_preinit_hook code fails to deal with the case where
  if_iwm is loaded by the loader (or is statically linked) and the
  firmware needs to be loaded from disk. So we can just call
  iwm_read_firmware() from iwm_attach() directly.

* A separate solution will have to be added to properly defer the firmware
  loading during bootup, until the necessary filesystem is mounted.
sys/dev/netif/iwm/if_iwm.c
sys/dev/netif/iwm/if_iwmvar.h