iwlwifi: clear trans->op_mode pointer when it is leaving
Since the op_mode is leaving, the transport should set its pointer to it to NULL to not point to freed memory. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
52e2a99eee
commit
b4991f3f7b
|
@ -489,10 +489,6 @@ struct iwl_trans {
|
||||||
static inline void iwl_trans_configure(struct iwl_trans *trans,
|
static inline void iwl_trans_configure(struct iwl_trans *trans,
|
||||||
const struct iwl_trans_config *trans_cfg)
|
const struct iwl_trans_config *trans_cfg)
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
* only set the op_mode for the moment. Later on, this function will do
|
|
||||||
* more
|
|
||||||
*/
|
|
||||||
trans->op_mode = trans_cfg->op_mode;
|
trans->op_mode = trans_cfg->op_mode;
|
||||||
|
|
||||||
trans->ops->configure(trans, trans_cfg);
|
trans->ops->configure(trans, trans_cfg);
|
||||||
|
@ -512,6 +508,9 @@ static inline void iwl_trans_stop_hw(struct iwl_trans *trans,
|
||||||
|
|
||||||
trans->ops->stop_hw(trans, op_mode_leaving);
|
trans->ops->stop_hw(trans, op_mode_leaving);
|
||||||
|
|
||||||
|
if (op_mode_leaving)
|
||||||
|
trans->op_mode = NULL;
|
||||||
|
|
||||||
trans->state = IWL_TRANS_NO_FW;
|
trans->state = IWL_TRANS_NO_FW;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue