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

Commit b27ebc61 authored by Yue Ma's avatar Yue Ma
Browse files

cnss2: Add recovery reason to string support



It can print recovery reason in corresponding string in the log
which provides convenience for debugging.

Change-Id: Icaa58e42dc9b052915f70b69817f1c881408dd24
Signed-off-by: default avatarYue Ma <yuem@codeaurora.org>
parent 65d078eb
Loading
Loading
Loading
Loading
+20 −2
Original line number Diff line number Diff line
@@ -1258,6 +1258,22 @@ static void cnss_crash_shutdown(const struct subsys_desc *subsys_desc)
	}
}

static const char *cnss_recovery_reason_to_str(enum cnss_recovery_reason reason)
{
	switch (reason) {
	case CNSS_REASON_DEFAULT:
		return "DEFAULT";
	case CNSS_REASON_LINK_DOWN:
		return "LINK_DOWN";
	case CNSS_REASON_RDDM:
		return "RDDM";
	case CNSS_REASON_TIMEOUT:
		return "TIMEOUT";
	}

	return "UNKNOWN";
};

static int cnss_do_recovery(struct cnss_plat_data *plat_priv,
			    enum cnss_recovery_reason reason)
{
@@ -1294,7 +1310,8 @@ static int cnss_do_recovery(struct cnss_plat_data *plat_priv,
	case CNSS_REASON_TIMEOUT:
		break;
	default:
		cnss_pr_err("Unsupported recovery reason (%d)\n", reason);
		cnss_pr_err("Unsupported recovery reason: %s(%d)\n",
			    cnss_recovery_reason_to_str(reason), reason);
		break;
	}

@@ -1319,7 +1336,8 @@ static int cnss_driver_recovery_hdlr(struct cnss_plat_data *plat_priv,
	struct cnss_recovery_data *recovery_data = data;
	int ret = 0;

	cnss_pr_dbg("Driver recovery is triggered: reason %d\n",
	cnss_pr_dbg("Driver recovery is triggered with reason: %s(%d)\n",
		    cnss_recovery_reason_to_str(recovery_data->reason),
		    recovery_data->reason);

	if (test_bit(CNSS_DRIVER_RECOVERY, &plat_priv->driver_state)) {