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

Commit 9825a105 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "diag: Proper update of logging mode"

parents a3343e70 a2ad16a3
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
/* Copyright (c) 2014-2017, The Linux Foundation. All rights reserved.
/* Copyright (c) 2014-2018, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -239,6 +239,8 @@ int diag_mux_switch_logging(int *req_mode, int *peripheral_mask)
		new_mask = ~(*peripheral_mask) & diag_mux->mux_mask;
		if (new_mask != DIAG_CON_NONE)
			*req_mode = DIAG_MULTI_MODE;
		if (new_mask == DIAG_CON_ALL)
			*req_mode = DIAG_MEMORY_DEVICE_MODE;
		break;
	case DIAG_MEMORY_DEVICE_MODE:
		new_mask = (*peripheral_mask) | diag_mux->mux_mask;
+4 −3
Original line number Diff line number Diff line
@@ -1710,19 +1710,20 @@ static int diag_switch_logging(struct diag_logging_mode_param_t *param)
			return -EINVAL;
		}

		i = upd - UPD_WLAN;

		if (driver->md_session_map[peripheral] &&
			(MD_PERIPHERAL_MASK(peripheral) &
			diag_mux->mux_mask)) {
			diag_mux->mux_mask) &&
			!driver->pd_session_clear[i]) {
			DIAG_LOG(DIAG_DEBUG_USERSPACE,
			"diag_fr: User PD is already logging onto active peripheral logging\n");
			i = upd - UPD_WLAN;
			driver->pd_session_clear[i] = 0;
			return -EINVAL;
		}
		peripheral_mask =
			diag_translate_mask(param->pd_mask);
		param->peripheral_mask = peripheral_mask;
		i = upd - UPD_WLAN;
		if (!driver->pd_session_clear[i]) {
			driver->pd_logging_mode[i] = 1;
			driver->num_pd_session += 1;
+4 −1
Original line number Diff line number Diff line
@@ -1003,8 +1003,11 @@ int diag_process_apps_pkt(unsigned char *buf, int len, int pid)
		} else {
			mutex_unlock(&driver->md_session_lock);
			if (MD_PERIPHERAL_MASK(reg_item->proc) &
				driver->logging_mask)
				driver->logging_mask) {
				mutex_unlock(&driver->cmd_reg_mutex);
				diag_send_error_rsp(buf, len, pid);
				return write_len;
			}
			else
				write_len = diag_send_data(reg_item, buf, len);
		}