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

Commit 11b2d8be authored by Sreelakshmi Gownipalli's avatar Sreelakshmi Gownipalli Committed by Chris Lew
Browse files

diag: Use correct bridge index while sending data



While sending data to remote processor pass the correct bridge
index value to the diag bridge driver. Rearrange init calls
so mempool values are initialized correctly.

CRs-Fixed: 997002
Change-Id: I524e48c38060865b6b83191202e5f057213abdca
Signed-off-by: default avatarSreelakshmi Gownipalli <sgownipa@codeaurora.org>
Signed-off-by: default avatarChris Lew <clew@codeaurora.org>
parent 642eed2c
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -965,7 +965,7 @@ static int diag_send_raw_data_remote(int proc, void *buf, int len,
					(void *)driver->hdlc_encode_buf);

send_data:
	err = diagfwd_bridge_write(proc, driver->hdlc_encode_buf,
	err = diagfwd_bridge_write(bridge_index, driver->hdlc_encode_buf,
				   driver->hdlc_encode_buf_len);
	if (err) {
		pr_err_ratelimited("diag: Error writing Callback packet to proc: %d, err: %d\n",
@@ -2534,7 +2534,7 @@ static int diag_user_process_raw_data(const char __user *buf, int len)
		}
	}
	if (remote_proc) {
		ret = diag_send_raw_data_remote(remote_proc - 1,
		ret = diag_send_raw_data_remote(remote_proc,
				(void *)(user_space_data + token_offset),
				len, USER_SPACE_RAW_DATA);
		if (ret) {
@@ -3388,13 +3388,13 @@ static int __init diagchar_init(void)
	ret = diag_masks_init();
	if (ret)
		goto fail;
	ret = diag_mux_init();
	ret = diag_remote_init();
	if (ret)
		goto fail;
	ret = diagfwd_init();
	ret = diag_mux_init();
	if (ret)
		goto fail;
	ret = diag_remote_init();
	ret = diagfwd_init();
	if (ret)
		goto fail;
	ret = diagfwd_bridge_init();
+1 −1
Original line number Diff line number Diff line
@@ -107,7 +107,7 @@ static int diagfwd_bridge_mux_write_done(unsigned char *buf, int len,

	if (id < 0 || id >= NUM_REMOTE_DEV)
		return -EINVAL;
	ch = &bridge_info[id];
	ch = &bridge_info[buf_ctx];
	if (ch->dev_ops && ch->dev_ops->fwd_complete)
		ch->dev_ops->fwd_complete(ch->ctxt, buf, len, 0);
	return 0;