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

Commit 4b58645c authored by Jay Sternberg's avatar Jay Sternberg Committed by Wey-Yi Guy
Browse files

iwlwifi: correct descriptions of advanced ucode errors



ucode errors were redefined in new ucode images and all new errors
were showing as advanced sysasserts which was misleading. new errors
are not sequential so additional lookup table added.  errors do not
overlap so both are used to support older and newer ucode images.

Signed-off-by: default avatarJay Sternberg <jay.e.sternberg@intel.com>
Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
parent 03264339
Loading
Loading
Loading
Loading
+30 −6
Original line number Diff line number Diff line
@@ -2296,17 +2296,41 @@ static const char *desc_lookup_text[] = {
	"DEBUG_1",
	"DEBUG_2",
	"DEBUG_3",
	"ADVANCED SYSASSERT"
};

static const char *desc_lookup(int i)
static struct { char *name; u8 num; } advanced_lookup[] = {
	{ "NMI_INTERRUPT_WDG", 0x34 },
	{ "SYSASSERT", 0x35 },
	{ "UCODE_VERSION_MISMATCH", 0x37 },
	{ "BAD_COMMAND", 0x38 },
	{ "NMI_INTERRUPT_DATA_ACTION_PT", 0x3C },
	{ "FATAL_ERROR", 0x3D },
	{ "NMI_TRM_HW_ERR", 0x46 },
	{ "NMI_INTERRUPT_TRM", 0x4C },
	{ "NMI_INTERRUPT_BREAK_POINT", 0x54 },
	{ "NMI_INTERRUPT_WDG_RXF_FULL", 0x5C },
	{ "NMI_INTERRUPT_WDG_NO_RBD_RXF_FULL", 0x64 },
	{ "NMI_INTERRUPT_HOST", 0x66 },
	{ "NMI_INTERRUPT_ACTION_PT", 0x7C },
	{ "NMI_INTERRUPT_UNKNOWN", 0x84 },
	{ "NMI_INTERRUPT_INST_ACTION_PT", 0x86 },
	{ "ADVANCED_SYSASSERT", 0 },
};

static const char *desc_lookup(u32 num)
{
	int max = ARRAY_SIZE(desc_lookup_text) - 1;
	int i;
	int max = ARRAY_SIZE(desc_lookup_text);

	if (i < 0 || i > max)
		i = max;
	if (num < max)
		return desc_lookup_text[num];

	return desc_lookup_text[i];
	max = ARRAY_SIZE(advanced_lookup) - 1;
	for (i = 0; i < max; i++) {
		if (advanced_lookup[i].num == num)
			break;;
	}
	return advanced_lookup[i].name;
}

#define ERROR_START_OFFSET  (1 * sizeof(u32))