Commit 10137f07 authored by Luca Coelho's avatar Luca Coelho
Browse files

iwlwifi: yoyo: don't allow changing the domain via debugfs



We don't want to allow changing the domain via debugfs so that we can
apply the domain to all TLV types more easily (doing some at runtime
is difficult due to buffer allocations etc.).  Change the
fw_dbg_domain debugfs file to be read-only and remove the write
function.

Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
parent 3e8bac0c
Loading
Loading
Loading
Loading
+2 −27
Original line number Diff line number Diff line
@@ -320,31 +320,6 @@ out:

FWRT_DEBUGFS_WRITE_FILE_OPS(send_hcmd, 512);

static ssize_t iwl_dbgfs_fw_dbg_domain_write(struct iwl_fw_runtime *fwrt,
					     char *buf, size_t count)
{
	u32 new_domain;
	int ret;

	if (!iwl_trans_fw_running(fwrt->trans))
		return -EIO;

	ret = kstrtou32(buf, 0, &new_domain);
	if (ret)
		return ret;

	if (new_domain != fwrt->trans->dbg.domains_bitmap) {
		ret = iwl_dbg_tlv_gen_active_trigs(fwrt, new_domain);
		if (ret)
			return ret;

		iwl_dbg_tlv_time_point(fwrt, IWL_FW_INI_TIME_POINT_PERIODIC,
				       NULL);
	}

	return count;
}

static ssize_t iwl_dbgfs_fw_dbg_domain_read(struct iwl_fw_runtime *fwrt,
					    size_t size, char *buf)
{
@@ -352,7 +327,7 @@ static ssize_t iwl_dbgfs_fw_dbg_domain_read(struct iwl_fw_runtime *fwrt,
			 fwrt->trans->dbg.domains_bitmap);
}

FWRT_DEBUGFS_READ_WRITE_FILE_OPS(fw_dbg_domain, 20);
FWRT_DEBUGFS_READ_FILE_OPS(fw_dbg_domain, 20);

void iwl_fwrt_dbgfs_register(struct iwl_fw_runtime *fwrt,
			    struct dentry *dbgfs_dir)
@@ -360,5 +335,5 @@ void iwl_fwrt_dbgfs_register(struct iwl_fw_runtime *fwrt,
	INIT_DELAYED_WORK(&fwrt->timestamp.wk, iwl_fw_timestamp_marker_wk);
	FWRT_DEBUGFS_ADD_FILE(timestamp_marker, dbgfs_dir, 0200);
	FWRT_DEBUGFS_ADD_FILE(send_hcmd, dbgfs_dir, 0200);
	FWRT_DEBUGFS_ADD_FILE(fw_dbg_domain, dbgfs_dir, 0600);
	FWRT_DEBUGFS_ADD_FILE(fw_dbg_domain, dbgfs_dir, 0400);
}
+2 −1
Original line number Diff line number Diff line
@@ -913,7 +913,8 @@ iwl_dbg_tlv_gen_active_trig_list(struct iwl_fw_runtime *fwrt,
	}
}

int iwl_dbg_tlv_gen_active_trigs(struct iwl_fw_runtime *fwrt, u32 new_domain)
static int iwl_dbg_tlv_gen_active_trigs(struct iwl_fw_runtime *fwrt,
					u32 new_domain)
{
	int i;

+0 −1
Original line number Diff line number Diff line
@@ -105,7 +105,6 @@ void iwl_dbg_tlv_init(struct iwl_trans *trans);
void iwl_dbg_tlv_time_point(struct iwl_fw_runtime *fwrt,
			    enum iwl_fw_ini_time_point tp_id,
			    union iwl_dbg_tlv_tp_data *tp_data);
int iwl_dbg_tlv_gen_active_trigs(struct iwl_fw_runtime *fwrt, u32 new_domain);
void iwl_dbg_tlv_del_timers(struct iwl_trans *trans);

#endif /* __iwl_dbg_tlv_h__*/