Commit 1ee158d8 authored by Johannes Berg's avatar Johannes Berg Committed by Wey-Yi Guy
Browse files

iwlwifi: move workqueue to priv



In order to separate the different parts of the
driver better, we are reducing the shared data.
This moves the workqueue to "priv", and removes
it from the transport. To do this, simply use
schedule_work() in the transport.

Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
parent 2655e314
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -700,7 +700,7 @@ static void iwlagn_set_kill_msk(struct iwl_priv *priv,
		priv->kill_cts_mask = bt_kill_cts_msg[kill_msk];

		/* schedule to send runtime bt_config */
		queue_work(priv->shrd->workqueue, &priv->bt_runtime_config);
		queue_work(priv->workqueue, &priv->bt_runtime_config);
	}
}

@@ -745,7 +745,7 @@ int iwlagn_bt_coex_profile_notif(struct iwl_priv *priv,
					IWL_BT_COEX_TRAFFIC_LOAD_NONE;
			}
			priv->bt_status = coex->bt_status;
			queue_work(priv->shrd->workqueue,
			queue_work(priv->workqueue,
				   &priv->bt_traffic_change_work);
		}
	}
+1 −1
Original line number Diff line number Diff line
@@ -892,7 +892,7 @@ static void rs_bt_update_lq(struct iwl_priv *priv, struct iwl_rxon_context *ctx,
		rs_fill_link_cmd(priv, lq_sta, tbl->current_rate);
		iwl_send_lq_cmd(priv, ctx, &lq_sta->lq, CMD_ASYNC, false);

		queue_work(priv->shrd->workqueue, &priv->bt_full_concurrency);
		queue_work(priv->workqueue, &priv->bt_full_concurrency);
	}
}

+1 −1
Original line number Diff line number Diff line
@@ -581,7 +581,7 @@ static int iwlagn_rx_statistics(struct iwl_priv *priv,
	if (unlikely(!test_bit(STATUS_SCANNING, &priv->shrd->status)) &&
	    (pkt->hdr.cmd == STATISTICS_NOTIFICATION)) {
		iwlagn_rx_calc_noise(priv);
		queue_work(priv->shrd->workqueue, &priv->run_time_calib_work);
		queue_work(priv->workqueue, &priv->run_time_calib_work);
	}
	if (cfg(priv)->lib->temperature && change)
		cfg(priv)->lib->temperature(priv);
+3 −3
Original line number Diff line number Diff line
@@ -568,7 +568,7 @@ void iwl_tt_enter_ct_kill(struct iwl_priv *priv)
		return;

	IWL_DEBUG_TEMP(priv, "Queueing critical temperature enter.\n");
	queue_work(priv->shrd->workqueue, &priv->ct_enter);
	queue_work(priv->workqueue, &priv->ct_enter);
}

void iwl_tt_exit_ct_kill(struct iwl_priv *priv)
@@ -577,7 +577,7 @@ void iwl_tt_exit_ct_kill(struct iwl_priv *priv)
		return;

	IWL_DEBUG_TEMP(priv, "Queueing critical temperature exit.\n");
	queue_work(priv->shrd->workqueue, &priv->ct_exit);
	queue_work(priv->workqueue, &priv->ct_exit);
}

static void iwl_bg_tt_work(struct work_struct *work)
@@ -600,7 +600,7 @@ void iwl_tt_handler(struct iwl_priv *priv)
		return;

	IWL_DEBUG_TEMP(priv, "Queueing thermal throttling work.\n");
	queue_work(priv->shrd->workqueue, &priv->tt_work);
	queue_work(priv->workqueue, &priv->tt_work);
}

/* Thermal throttling initialization
+1 −1
Original line number Diff line number Diff line
@@ -983,7 +983,7 @@ static void iwl_check_abort_status(struct iwl_priv *priv,
	if (frame_count == 1 && status == TX_STATUS_FAIL_RFKILL_FLUSH) {
		IWL_ERR(priv, "Tx flush command to flush out all frames\n");
		if (!test_bit(STATUS_EXIT_PENDING, &priv->shrd->status))
			queue_work(priv->shrd->workqueue, &priv->tx_flush);
			queue_work(priv->workqueue, &priv->tx_flush);
	}
}

Loading