Commit abee4c84 authored by Felix Fietkau's avatar Felix Fietkau Committed by John W. Linville
Browse files

ath9k: clean up and enhance ANI debugfs file



Unify scnprintf calls and include the current OFDM/CCK immunity level.

Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 3b3e0efb
Loading
Loading
Loading
Loading
+28 −30
Original line number Diff line number Diff line
@@ -139,43 +139,41 @@ static ssize_t read_file_ani(struct file *file, char __user *user_buf,
	const unsigned int size = 1024;
	ssize_t retval = 0;
	char *buf;
	int i;
	struct {
		const char *name;
		unsigned int val;
	} ani_info[] = {
		{ "ANI RESET", ah->stats.ast_ani_reset },
		{ "OFDM LEVEL", ah->ani.ofdmNoiseImmunityLevel },
		{ "CCK LEVEL", ah->ani.cckNoiseImmunityLevel },
		{ "SPUR UP", ah->stats.ast_ani_spurup },
		{ "SPUR DOWN", ah->stats.ast_ani_spurup },
		{ "OFDM WS-DET ON", ah->stats.ast_ani_ofdmon },
		{ "OFDM WS-DET OFF", ah->stats.ast_ani_ofdmoff },
		{ "MRC-CCK ON", ah->stats.ast_ani_ccklow },
		{ "MRC-CCK OFF", ah->stats.ast_ani_cckhigh },
		{ "FIR-STEP UP", ah->stats.ast_ani_stepup },
		{ "FIR-STEP DOWN", ah->stats.ast_ani_stepdown },
		{ "INV LISTENTIME", ah->stats.ast_ani_lneg_or_lzero },
		{ "OFDM ERRORS", ah->stats.ast_ani_ofdmerrs },
		{ "CCK ERRORS", ah->stats.ast_ani_cckerrs },
	};

	buf = kzalloc(size, GFP_KERNEL);
	if (buf == NULL)
		return -ENOMEM;

	if (common->disable_ani) {
		len += scnprintf(buf + len, size - len, "%s: %s\n",
				 "ANI", "DISABLED");
	len += scnprintf(buf + len, size - len, "%15s: %s\n", "ANI",
			 common->disable_ani ? "DISABLED" : "ENABLED");

	if (common->disable_ani)
		goto exit;
	}

	len += scnprintf(buf + len, size - len, "%15s: %s\n",
			 "ANI", "ENABLED");
	len += scnprintf(buf + len, size - len, "%15s: %u\n",
			 "ANI RESET", ah->stats.ast_ani_reset);
	len += scnprintf(buf + len, size - len, "%15s: %u\n",
			 "SPUR UP", ah->stats.ast_ani_spurup);
	len += scnprintf(buf + len, size - len, "%15s: %u\n",
			 "SPUR DOWN", ah->stats.ast_ani_spurup);
	len += scnprintf(buf + len, size - len, "%15s: %u\n",
			 "OFDM WS-DET ON", ah->stats.ast_ani_ofdmon);
	for (i = 0; i < ARRAY_SIZE(ani_info); i++)
		len += scnprintf(buf + len, size - len, "%15s: %u\n",
			 "OFDM WS-DET OFF", ah->stats.ast_ani_ofdmoff);
	len += scnprintf(buf + len, size - len, "%15s: %u\n",
			 "MRC-CCK ON", ah->stats.ast_ani_ccklow);
	len += scnprintf(buf + len, size - len, "%15s: %u\n",
			 "MRC-CCK OFF", ah->stats.ast_ani_cckhigh);
	len += scnprintf(buf + len, size - len, "%15s: %u\n",
			 "FIR-STEP UP", ah->stats.ast_ani_stepup);
	len += scnprintf(buf + len, size - len, "%15s: %u\n",
			 "FIR-STEP DOWN", ah->stats.ast_ani_stepdown);
	len += scnprintf(buf + len, size - len, "%15s: %u\n",
			 "INV LISTENTIME", ah->stats.ast_ani_lneg_or_lzero);
	len += scnprintf(buf + len, size - len, "%15s: %u\n",
			 "OFDM ERRORS", ah->stats.ast_ani_ofdmerrs);
	len += scnprintf(buf + len, size - len, "%15s: %u\n",
			 "CCK ERRORS", ah->stats.ast_ani_cckerrs);
				 ani_info[i].name, ani_info[i].val);

exit:
	if (len > size)
		len = size;