aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/iwm
diff options
context:
space:
mode:
authorAndriy Voskoboinyk <avos@FreeBSD.org>2016-01-04 21:07:08 +0000
committerAndriy Voskoboinyk <avos@FreeBSD.org>2016-01-04 21:07:08 +0000
commite8d24c2011ad5de4dd3a95f7245ce8de4daa8c0a (patch)
tree5aa795f796882133cf38d3ff6b60f1aa4b860bf7 /sys/dev/iwm
parent1b3ae3ba635ab83f2f0e874b91341ca234e936a2 (diff)
Notes
Diffstat (limited to 'sys/dev/iwm')
-rw-r--r--sys/dev/iwm/if_iwm.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/sys/dev/iwm/if_iwm.c b/sys/dev/iwm/if_iwm.c
index 8d94355b14d3..5556ca66dbde 100644
--- a/sys/dev/iwm/if_iwm.c
+++ b/sys/dev/iwm/if_iwm.c
@@ -2041,6 +2041,7 @@ iwm_mvm_load_ucode_wait_alive(struct iwm_softc *sc,
sc->sc_uc_current = ucode_type;
error = iwm_start_fw(sc, ucode_type);
+ iwm_fw_info_free(&sc->sc_fw);
if (error) {
sc->sc_uc_current = old_type;
return error;
@@ -4936,7 +4937,6 @@ iwm_suspend(device_t dev)
static int
iwm_detach_local(struct iwm_softc *sc, int do_net80211)
{
- struct iwm_fw_info *fw = &sc->sc_fw;
device_t dev = sc->sc_dev;
int i;
@@ -4953,11 +4953,7 @@ iwm_detach_local(struct iwm_softc *sc, int do_net80211)
for (i = 0; i < nitems(sc->txq); i++)
iwm_free_tx_ring(sc, &sc->txq[i]);
- /* Free firmware */
- if (fw->fw_fp != NULL)
- iwm_fw_info_free(fw);
-
- /* free scheduler */
+ /* Free scheduler */
iwm_free_sched(sc);
if (sc->ict_dma.vaddr != NULL)
iwm_free_ict(sc);