Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6a719aeb authored by Siva Kumar Akkireddi's avatar Siva Kumar Akkireddi
Browse files

msm: mhi_dev: Make MHI channel state callback trigger per-channel



Trigger the MHI channel state callback only for the channel whose
state has changed.

Change-Id: Ieb7be2d4429884cd30f5367122dfba9385878c85
Signed-off-by: default avatarSiva Kumar Akkireddi <sivaa@codeaurora.org>
parent b851c923
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -824,13 +824,13 @@ int mhi_dev_send_ee_event(struct mhi_dev *mhi, enum mhi_dev_execenv exec_env)
}
EXPORT_SYMBOL(mhi_dev_send_ee_event);

static void mhi_dev_trigger_cb(void)
static void mhi_dev_trigger_cb(enum mhi_client_channel ch_id)
{
	struct mhi_dev_ready_cb_info *info;
	enum mhi_ctrl_info state_data;

	list_for_each_entry(info, &mhi_ctx->client_cb_list, list)
		if (info->cb) {
		if (info->cb && info->cb_data.channel == ch_id) {
			mhi_ctrl_state_info(info->cb_data.channel, &state_data);
			info->cb_data.ctrl_info = state_data;
			info->cb(&info->cb_data);
@@ -1023,7 +1023,7 @@ static void mhi_dev_process_cmd_ring(struct mhi_dev *mhi,

		mhi_update_state_info(ch_id, MHI_STATE_CONNECTED);
		/* Trigger callback to clients */
		mhi_dev_trigger_cb();
		mhi_dev_trigger_cb(ch_id);
		if (ch_id == MHI_CLIENT_MBIM_OUT)
			kobject_uevent_env(&mhi_ctx->dev->kobj,
						KOBJ_CHANGE, connected);