diff options
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/fw/dbg.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 9 |
3 files changed, 15 insertions, 2 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/fw/dbg.h b/drivers/net/wireless/intel/iwlwifi/fw/dbg.h index 9c889a32fe24..223fb77a3aa9 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/dbg.h +++ b/drivers/net/wireless/intel/iwlwifi/fw/dbg.h | |||
@@ -209,8 +209,6 @@ static inline void iwl_fw_dbg_stop_recording(struct iwl_fw_runtime *fwrt) | |||
209 | 209 | ||
210 | static inline void iwl_fw_dump_conf_clear(struct iwl_fw_runtime *fwrt) | 210 | static inline void iwl_fw_dump_conf_clear(struct iwl_fw_runtime *fwrt) |
211 | { | 211 | { |
212 | iwl_fw_dbg_stop_recording(fwrt); | ||
213 | |||
214 | fwrt->dump.conf = FW_DBG_INVALID; | 212 | fwrt->dump.conf = FW_DBG_INVALID; |
215 | } | 213 | } |
216 | 214 | ||
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c b/drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c index c59f4581e972..ac05fd1e74c4 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c | |||
@@ -49,6 +49,7 @@ | |||
49 | * | 49 | * |
50 | *****************************************************************************/ | 50 | *****************************************************************************/ |
51 | #include "iwl-trans.h" | 51 | #include "iwl-trans.h" |
52 | #include "iwl-prph.h" | ||
52 | #include "iwl-context-info.h" | 53 | #include "iwl-context-info.h" |
53 | #include "internal.h" | 54 | #include "internal.h" |
54 | 55 | ||
@@ -156,6 +157,11 @@ void _iwl_trans_pcie_gen2_stop_device(struct iwl_trans *trans, bool low_power) | |||
156 | 157 | ||
157 | trans_pcie->is_down = true; | 158 | trans_pcie->is_down = true; |
158 | 159 | ||
160 | /* Stop dbgc before stopping device */ | ||
161 | iwl_write_prph(trans, DBGC_IN_SAMPLE, 0); | ||
162 | udelay(100); | ||
163 | iwl_write_prph(trans, DBGC_OUT_CTRL, 0); | ||
164 | |||
159 | /* tell the device to stop sending interrupts */ | 165 | /* tell the device to stop sending interrupts */ |
160 | iwl_disable_interrupts(trans); | 166 | iwl_disable_interrupts(trans); |
161 | 167 | ||
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c index 3dee95e6a475..4541c86881d6 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c | |||
@@ -1227,6 +1227,15 @@ static void _iwl_trans_pcie_stop_device(struct iwl_trans *trans, bool low_power) | |||
1227 | 1227 | ||
1228 | trans_pcie->is_down = true; | 1228 | trans_pcie->is_down = true; |
1229 | 1229 | ||
1230 | /* Stop dbgc before stopping device */ | ||
1231 | if (trans->cfg->device_family == IWL_DEVICE_FAMILY_7000) { | ||
1232 | iwl_set_bits_prph(trans, MON_BUFF_SAMPLE_CTL, 0x100); | ||
1233 | } else { | ||
1234 | iwl_write_prph(trans, DBGC_IN_SAMPLE, 0); | ||
1235 | udelay(100); | ||
1236 | iwl_write_prph(trans, DBGC_OUT_CTRL, 0); | ||
1237 | } | ||
1238 | |||
1230 | /* tell the device to stop sending interrupts */ | 1239 | /* tell the device to stop sending interrupts */ |
1231 | iwl_disable_interrupts(trans); | 1240 | iwl_disable_interrupts(trans); |
1232 | 1241 | ||