svn commit: r354502 - head/sys/dev/iwm
Mark Johnston
markj at FreeBSD.org
Thu Nov 7 23:35:16 UTC 2019
Author: markj
Date: Thu Nov 7 23:35:15 2019
New Revision: 354502
URL: https://svnweb.freebsd.org/changeset/base/354502
Log:
iwm: Use the same delays as iwlwifi when resetting the device.
This is required for initialization to succeed for newer device
families.
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Modified:
head/sys/dev/iwm/if_iwm.c
head/sys/dev/iwm/if_iwm_pcie_trans.c
Modified: head/sys/dev/iwm/if_iwm.c
==============================================================================
--- head/sys/dev/iwm/if_iwm.c Thu Nov 7 23:35:01 2019 (r354501)
+++ head/sys/dev/iwm/if_iwm.c Thu Nov 7 23:35:15 2019 (r354502)
@@ -1315,12 +1315,14 @@ iwm_stop_device(struct iwm_softc *sc)
/* Stop the device, and put it in low power state */
iwm_apm_stop(sc);
- /* Upon stop, the APM issues an interrupt if HW RF kill is set.
- * Clean again the interrupt here
+ /* stop and reset the on-board processor */
+ IWM_SETBITS(sc, IWM_CSR_RESET, IWM_CSR_RESET_REG_FLAG_SW_RESET);
+ DELAY(5000);
+
+ /*
+ * Upon stop, the APM issues an interrupt if HW RF kill is set.
*/
iwm_disable_interrupts(sc);
- /* stop and reset the on-board processor */
- IWM_WRITE(sc, IWM_CSR_RESET, IWM_CSR_RESET_REG_FLAG_SW_RESET);
/*
* Even if we stop the HW, we still want the RF kill
Modified: head/sys/dev/iwm/if_iwm_pcie_trans.c
==============================================================================
--- head/sys/dev/iwm/if_iwm_pcie_trans.c Thu Nov 7 23:35:01 2019 (r354501)
+++ head/sys/dev/iwm/if_iwm_pcie_trans.c Thu Nov 7 23:35:15 2019 (r354502)
@@ -611,7 +611,7 @@ iwm_start_hw(struct iwm_softc *sc)
/* Reset the entire device */
IWM_WRITE(sc, IWM_CSR_RESET, IWM_CSR_RESET_REG_FLAG_SW_RESET);
- DELAY(10);
+ DELAY(5000);
if ((error = iwm_apm_init(sc)) != 0)
return error;
More information about the svn-src-all
mailing list